如何迭代TR> IMG

时间:2016-04-20 01:36:06

标签: javascript jquery html

我正在尝试遍历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');
   }
})

1 个答案:

答案 0 :(得分:3)

  

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

你得到这个,因为选择器无效..

更改此选择器语法

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

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

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

上面的选择器意味着......找到位于img包含父级的parenrt元素的任何级别内的id元素。

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

此外,如果您的目的是仅获取img的{​​{1}}标记,则将其添加到选择器中。你可以消除里面的If检查..

showDetail

这将只为您提供具有指定类的$("[id*='parent'] img.showDetail")标记..

希望这有帮助。