我得到了其中一个:
$('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
标签中的文字?
答案 0 :(得分:1)
如果文本始终是元素中的最后一个子项,请使用.lastChild.nodeValue
。
答案 1 :(得分:1)
如果您可以更改标记,那么您想要的文字位于<span>
:
<p><a href="">Name</a> <span>stuff written here</span> </p>
这个问题很容易解决:
$(this).closest('.article-content').children('p').children(':not(a)').text();
答案 2 :(得分:0)
$('a.retweet').click(function()
{
var retweetText = $(this).closest('.article-content').children('a').text();
}
答案 3 :(得分:0)
你可以这样做:
$('p').contents().last().text();
所以你有:
$(this).closest('.article-content').children('p').contents().last().text();
希望这会有所帮助。干杯
答案 4 :(得分:0)
这将返回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();
}
答案 5 :(得分:0)
您在该功能中缺少);
。试试这个 -
<强>的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>