我有以下HTML结构。
<td id="123">
...
<td>
<ul>
<li class"open"><img src="path" /></li>
...
</ul>
</td>
</tr>
<td id="125">
...
我想这样做:
选择#123的li.open
并将课程更改为li.pending
选择src
图片的#123>li.open
属性并将其更改为“newpath”
我试图通过以下方式选择它们:
$('#123>li.open img').attr("src");
...to add the new src
$('#123>li.open').removeClass("open").addClass("pending");
如何解决此问题?
答案 0 :(得分:3)
>
CSS运算符强制执行直接的父子关系。您之间有<td>
和<ul>
元素。
删除>
,一切都没问题。
[并且根据评论,为了向后兼容,请不要使用ID编号]。
答案 1 :(得分:0)
您的CSS选择器说:查找li.open
作为#123的直接子项,但这绝不是真的,因为您{{1}下至少有td
,ul
元素。
#123
在您上面发布的标记中更为正确。 $('#123 li.open>img').attr("src");
是img
的直接孩子。