5

我的 a-tag(链接)包含 innerHTML,它是这样的图像:

.innerHTML = <img alt="hello world" src="/Content/Images/test.png">

如何alt使用 JQuery 获取属性的文本?

4

3 回答 3

10

你真的不需要 jQuery。如果你有 a 元素,你可以这样做:

// lets call the anchor tag `link`
var alt = link.getElementsByTagName('img')[0].alt; // assuming a single image tag

记住属性映射到属性(大多数),除非属性或属性发生更改,否则两者应该反映相同的数据(这有一些极端情况,但可以逐个处理)。

如果您确实需要该属性

var alt = link.getElementsByTagName('img')[0].getAttribute('alt');

最后一种情况是,如果您只有图像标签作为字符串。

var str = '<img alt="hello world" src="/Content/Images/test.png">';
var tmp = document.createElement('div');
tmp.innerHTML = str;
var alt = tmp.getElementsByTagName('img')[0].alt;

如果您必须使用 jQuery(或者只是更喜欢它),那么 Alexander 和 Ashivard 提供的其他答案将起作用。

注意:我的答案是为了完整性和更多选项而提供的。我意识到 OP 要求 jQuery 解决方案而不是本机 js。

于 2012-12-18T20:40:23.720 回答
7

成为$a你的<a/>元素。

使用 jQuery,您可以执行以下操作:

$("img", $a).first().attr("alt");

或者,使用纯 JavaScript:

var $img = $a.getElementsByTagName("img")[0];
console.log($img.alt);

在这里

于 2012-12-18T20:34:57.357 回答
1

用这个。

var altName=$('a img').attr('alt');
于 2012-12-18T20:33:48.140 回答