使用.attr()后能否使用.find()标记

时间:2017-02-07 10:00:00

标签: javascript jquery html

我使用jQuery和node-horseman点击一个页面,我基于此页面的data-id,传递给我的应用程序以查找li标记有此属性:

jQuery('#manage-alerts-div li').attr('data-id', this.feedID)

但我需要在此li内找到另一个标记,并在此之后添加.find(),只返回一个空白链接,我看不到它的HTML内容。

jQuery('#manage-alerts-div li').attr('data-id', this.feedID).find('.delete_button').click()

2 个答案:

答案 0 :(得分:3)

此代码将起作用::

jQuery('#manage-alerts-div li[data-id="' + this.feedID + '"]').find('.delete_button').click();

答案 1 :(得分:2)

  

jQuery方法end()描述:结束当前链中最近的过滤操作,并将匹配元素集返回到先前的状态。

您可以使用jQuery方法 end() ,如:

jQuery('#manage-alerts-div li').attr('data-id',  this.feedID).end().find('.delete_button').click();
______________________________________________________________^^^^^

如果您想按data-id进行搜索,则可以使用:

$('#manage-alerts-div li[data-id='+this.feedID+']').find('.delete_button').click();

希望这有帮助。



$('.delete_button').click(function(){
  console.log($(this).closest('li')[0].outerHTML);
})

var feedId = 20; //Should be 'this.feedID' in your case 
$('#manage-alerts-div li[data-id='+feedId+']').find('.delete_button').click();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul id='manage-alerts-div'>
  <li data-id='10'>Text 1 <button class='delete_button'>delete button 1</button></li>
  <li data-id='20'>Text 2 <button class='delete_button'>delete button 2</button></li>
  <li data-id='30'>Text 3 <button class='delete_button'>delete button 3</button></li>
</ul>
&#13;
&#13;
&#13;