如何迭代TR>img

How to iterate TR > img

本文关键字:gt img TR 何迭代 迭代      更新时间:2023-09-26

我正试图循环遍历TR:Img,并查找该TR是否有类,但我得到了以下错误:

错误:语法错误,无法识别的表达式:

HTML:

<tr id="ItemDetail:0:parent"> 
    <td>
        <a id="itemDetail:0:linkShowHide" 
            name="itemDetail:0:linkShowHide" 
                href="javascript:toggleRow('itemDetail:0')">
            <img class="showDetail" id="itemDetail:0:Img" src="/s.gif"></a>
    </td>
   </tr>

Jquery:

$("[id*='parent']':Img'").each(function(){
   var x = $(this);
   if(x.hasClass("showDetail"))
   {
      alert('gotit');
   }
})

错误:语法错误,无法识别的表达式:

你得到这个是因为选择器无效。。

更改此选择器语法

$("[id*='parent']':Img'")

$("[id*='parent'] img")

注意id选择器和img之间的空格。。选择器之间使用空格来指定父子关系(对于任何级别的深度)。

上面的选择器表示。。。查找位于id包含父级的父级元素的任何级别内的img元素。

感谢Matt Browne在下面的评论中指出了这一点。

此外,如果您的意图是只获得具有showDetailimg标签,那么也可以将其添加到选择器中。你可以取消内部的If检查。。

$("[id*='parent'] img.showDetail")

这将只为您提供具有指定类的img标记。。

希望这能有所帮助。