我正在尝试使用jQuery从html网页内的img元素中检索数据。
我从一开始就知道只有1张图片,但是当我运行以下代码时,我会得到2个警告框。 它们包含相同的信息..
有谁知道我做错了什么?
$("#tableX td").find("img").each(function() {
if ($(this).data("apple") == "orange") {
alert($(this).attr("src"));
}
});
感谢。
更新:
DOM输出..
<td id="tdP4" align="center" style="border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(201, 201, 201); border-right-color: rgb(201, 201, 201); border-bottom-color: rgb(201, 201, 201); border-left-color: rgb(201, 201, 201); "><img id="imgP4" src="/images/t/00.jpg" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; width: 63px; height: 103px; display: block; background-color: rgb(71, 7, 79); " alt="00"></td>
答案 0 :(得分:1)
也许可以尝试更具体的选择器
$("#tableX td > img").each(function() {
if ($(this).data("apple") == "orange") {
alert($(this).attr("src"));
}
});
编辑:您的<img>
标记处于打开状态
答案 1 :(得分:1)
有两个可能的原因:
答案 2 :(得分:0)
你说
只有一个表,每个td一个,1个图像!
这允许多个tr
元素,每个元素都包含td
和img
。
$("#tableX td").find("img").each
会在img
内找到所有 #tableX
元素。它们是否在不同的行(tr
)中无关紧要。