Javascript Jquery选择器,是否在p标记中不包含锚?

Javascript Jquery选择器,是否在p标记中不包含锚?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我有一个: $('a.retweet').click(function () { var retweetText = $(this).closest('.article-content').children('p').text(); } 有一堆这样的: <p><a href="">Name</a> stuff written here </p> 这里写的东西 但是我只想要p标记中的文本,而不是a href。那么,如何在p标记中获取文本

我有一个:

$('a.retweet').click(function () {
    var retweetText = $(this).closest('.article-content').children('p').text();
}
有一堆这样的:

<p><a href="">Name</a> stuff written here </p>
这里写的东西


但是我只想要
p
标记中的文本,而不是
a href
。那么,如何在
p
标记中获取文本呢?

如果文本始终是元素中的最后一个子元素,请使用
.lastChild.nodeValue
,如果您可以更改标记,使所需文本位于
标记中:

$('a.retweet').click(function() 
{
    var retweetText = $(this).closest('.article-content').children('a').text();
}
您可以这样做:

$('p').contents().last().text();
所以你会:

$(this).closest('.article-content').children('p').contents().last().text();

希望这有帮助。干杯

这将返回textNode

$(this)
  .closest('.article-content')
  .children('p')
  .contents()
  .filter(function() { 
    return this.nodeType == 3;
})
这将返回该节点的文本

$('a.retweet').click(function () {
    var retweetText = $(this)
                        .closest('.article-content')
                        .children('p')
                        .contents()
                        .filter(function() { 
                          return this.nodeType == 3;
                        }).text();
}
您丢失了
在该函数中。试试这个--

jQuery

$('a.retweet').click(function(e) {
    e.preventDefault();
    var retweetText = $(this).closest('.article-content').children('p').text();
    alert( retweetText );     
});
HTML

<div class="article-content">
    <a href="#" class="retweet">Testing</a>
    <p>This is a paragraph</p>
</div>

这是一段


工作演示:

这个问题听起来和这个问题一模一样:这几乎是一个完全相同的问题……而且是在一个小时前提出的。关闭锤子,启动!这与OP想要的正好相反。
$('a.retweet').click(function(e) {
    e.preventDefault();
    var retweetText = $(this).closest('.article-content').children('p').text();
    alert( retweetText );     
});
<div class="article-content">
    <a href="#" class="retweet">Testing</a>
    <p>This is a paragraph</p>
</div>