如何在与当前元素相同的级别上操作dom元素? - jQuery

时间:2010-12-12 19:59:41

标签: jquery css

说我有以下内容:

<ul>
   <li><img src='test.png'>    
       <div id=parentDiv>
           <div><img='click-me-icon.png'></div>
       </div>
   </li> 
</ul>

我想要做的是,当点击最里面的<img>时,我想向最外面的<img>添加边框。我该怎么做?

我把所有其他代码都放下了......即。我会做类似的事情:

$('ul li div div img').click(function() {
    $(this).css({ 'border' : '1px solid green' });
});

我只是不确定在上面的代码段中代替$(this)的选择器/函数。

3 个答案:

答案 0 :(得分:1)

$('ul li div div img').click(function() {
    $('img:eq(0)',$(this).closest('li')).css({ 'border' : '1px solid green' });
});

EDITv3 这就是我要找的东西。获得相同解决方案的另一种方法,但希望发布工作版本。 ; - )

答案 1 :(得分:1)

你的代码看起来是正确的。将div边框添加到div as,这是点击中的当前项目

我在这里用你的代码做了例子

http://jsfiddle.net/QzRUE/

如果您还有其他需要,请告诉我

如果你想要父项,你可以这样做

$(this).parent().css({ 'border' : '1px solid green' });

答案 2 :(得分:1)

看到OP更新后

编辑

$('ul li div div img').click(function() {
    $(this).parents("li").children("img").css({ 'border' : '1px solid green' });
});