使用Jquery删除div之后的元素

JCH*_*E11 15 jquery jquery-selectors dom-traversal

我想删除使用jquery直接跟在div后面的p标记.这是我的HTML:

<div class="fbcommentbox"></div>
<p>Powered by <a href="http://pleer.co.uk/wordpress/plugins/facebook-comments/">Facebook Comments</a></p>
Run Code Online (Sandbox Code Playgroud)

因此,在这种情况下,<p>标记内的所有内容都将设置为display:none.

这似乎在jquery中做起来非常简单,但我似乎无法将手指放在它上面.任何帮助都会很棒.谢谢!

Ben*_*ard 29

这应该工作:

$('.fbcommentbox').next('p').remove();
Run Code Online (Sandbox Code Playgroud)

我们选择div,然后next用来获取下一个元素.

  • 也许`.next('p')`会更干净. (2认同)

rid*_*rid 27

$('div.fbcommentbox + p').hide();
Run Code Online (Sandbox Code Playgroud)

选择你需要的那个.

  • 为了好玩,我在`+`和`.next()之间做了这个性能检查,看起来下一个更快,如果(对于某些读取)你必须在循环内遍历DOM,这可能会有所不同.http://jsperf.com/jquery-next-vs-plus (2认同)