点击按钮上的空li文本

时间:2012-12-12 21:38:56

标签: jquery dom

生成的输出如下: HTML

<div id="resultCancel" class="error" style="display: block;">
    <a class="close">X</a>
    <ul style="">
        <li for="ProductId" generated="true" class="error" style="">Please Enter License Key</li>
    </ul>
</div>

当你点击a.close时我需要清空li的内容(在任何人杀死我之前,我们使用旧的代码库,这就是我使用.live功能的原因)

$('a.close').live('click',function(){
   $(this).parent().fadeOut("fast");
   $(this).closest//.next//.sibling('ul').addClass('foo');
});

通过使用最接近我可以上DOM树,我需要下去。 .next和.sibling没有效果....如果重要的话,div#resultCancel是由jQuery验证插件触发的。

1 个答案:

答案 0 :(得分:2)

您可以使用.next()

$this.next('ul').find('li.error').addClass('foo').html('Text Changed!!')

使用.on()代替.live(),因为后者已弃用 ..

$('a.close').on('click',function(){
   var $this = $(this);
   //$this.parent().fadeOut("fast");
   $this.next('ul').find('li.error').addClass('foo').html('Text Changed!!')
});

您还需not change the text hiding the parent div

<强> Check Fiddle

对于动态元素委派活动

$('body').on('click','a.close',function(){  // jQuery > 1.7.0

$('body').delegate('a.close' ,'click',function(){  // jQuery < 1.7.0