Я хотел бы узнать, можно ли использовать Javascript для поиска тега изображения по его тексту alt. Например, у меня есть этот тег: <img src="Myimage.jpg" alt="Myimage">
был бы способ получить тег, ища атрибут alt «Myimage»?Поиск тега изображения с использованием текста alt
ответ
Несложно будет решение jQuery, размещенное достаточно скоро. Для того, чтобы сделать это без, следующие будут работать:
function getImagesByAlt(alt) {
var allImages = document.getElementsByTagName("img");
var images = [];
for (var i = 0, len = allImages.length; i < len; ++i) {
if (allImages[i].alt == alt) {
images.push(allImages[i]);
}
}
return images;
}
var myImage = getImagesByAlt("Myimage")[0];
Вы можете сделать это с JQuery. Следующий код JQuery будет возвращать любое изображение с альт тег установлен в «Myimage»:
$('img[alt="Myimage"]').
Однако было бы намного проще и гораздо более производительным использовать идентификатор атрибута тега изображения.
Это было бы не так сложно, если NodeList реализовал Iterable. Эта реализация помещает фильтр в прототип NodeList, который может не совпадать с любым вкусом, но я предпочитаю сжатый доступ к моим структурам данных.
<html>
<head>
<script type="text/javascript">
// unfortunately NodeLists do not have many of the nice Iterate functions
// on them, here is an incomplete filter implementation
NodeList.prototype.filter = function(testFn) {
var array = [] ;
for (var cnt = 0 ; cnt < this.length ; cnt++) {
if (testFn(this[cnt])) array.push(this[cnt]) ;
}
return array ;
}
// loops through the img tags and finds returns true for elements that
// match the alt text
function findByAlt(altText) {
var imgs = document.getElementsByTagName('img').filter(function(x) {
return x.alt === altText ;
}) ;
return imgs ;
}
// start the whole thing
function load() {
var images = findByAlt('sometext') ;
images.forEach(function(x) {
alert(x.alt) ;
}) ;
}
</script>
</head>
<body onload="load()">
<img src="./img1.png" alt="sometext"/>
<img src="./img2.png" alt="sometext"/>
<img src="./img3.png" alt="someothertext"/>
</body>
</html>
Обратите внимание, что вы получите массив назад, поскольку в спецификации DOM нет ничего уникального для создания тегов. – Mike
К сожалению, расширение 'NodeList' исключает IE (по крайней мере, вплоть до версии 7, включая 8, чтобы проверить ее). –
А, к счастью/к сожалению, я работаю в мире без IE. Что представляет собой IE в качестве возврата getElementsByTagName? – Mike
var imgElement = document.querySelector(img[alt="MyImage"])
- 1. JQuery - поиск текста Alt для текущего изображения
- 2. ASP.NET HyperLink - настройка тега Alt изображения
- 3. PHP - Удаление тега изображения и Заменить Alt
- 4. regex для замены тега alt с именем источника изображения
- 5. Как фильтровать изображения с использованием атрибута Alt
- 6. Элегантно аннотировать изображение с помощью тега alt
- 7. Поиск элементов с использованием текста
- 8. Поиск текста с использованием R
- 9. Поиск текста с использованием Mysql
- 10. поиск текста с использованием regex
- 11. Удалить границу из текста тега alt над изображением
- 12. Позиционирование изображения alt text
- 13. Поиск элемента с использованием тега android
- 14. Поиск доменов с использованием одного тега?
- 15. Поиск Xpath - для текста без HTML-тега
- 16. изображения ALT тега в текстовом файле получить РНР
- 17. BeautifulSoup: поиск текста тега со встроенным тегом
- 18. Поиск текста, соответствующего шаблону внутри тега XML
- 19. поиск изображения URL-адреса remopte с использованием preg_split
- 20. Поиск изображения с использованием массива
- 21. Поиск изображения с использованием AutoIt
- 22. Поиск изображения для указанного текста
- 23. Могу ли я создать атрибут alt тега изображения в jquery?
- 24. Поиск и поиск тега xml с использованием кода xslt
- 25. Как стилизовать атрибут alt изображения
- 26. Поиск первого тега изображения в запросе MySQL
- 27. Поиск тега HTML на веб-странице с использованием URL-адреса
- 28. Поиск значения/текста тега A с помощью JQuery
- 29. Поиск текста в PDF с использованием Python?
- 30. Поиск текста с использованием C# regex
Вы можете использовать JQuery? –
Я вижу, что вы находите тег изображения, используя текст alt. Вы должны полностью отказаться от этого и использовать jQuery! – Josh
Лучше вопрос, используете ли вы какую-либо библиотеку JS? (jquery, prototype, mootols, yui ..) – adamJLev