我正在尝试使用jquery
删除特定标记后出现的文本我的HTML代码是
<div class="myclass">
<a href="#"></a>
<a href="#"></a>
Hey I want to delete this text
</div>
$(document).ready(function() {
$('.myclass').each(function() {
// Confused here
$(this).children(':nth-child(3)').text('');
});
});
我猜这个班里没有第三个孩子。任何想法都将不胜感激。
答案 0 :(得分:4)
你可以这样做:
$(document).ready(function () {
$('.myclass').each(function () {
// Confused here
$(this).contents().filter(function () {
return this.nodeType === 3 && $.trim(this.nodeValue).length;
}).replaceWith('');
});
});
<强> Fiddle Demo 强>
答案 1 :(得分:1)
$(document).ready(function () {
$('.myclass a:eq(1)')[0].nextSibling.remove();
});
<小时/> :eq() Selector
要匹配的元素的从零开始的索引
$('.myclass a:eq(1)')
在类a
myclass
标记
答案 2 :(得分:1)
你可以这样做:
$(document).ready(function() {
$('.myclass').find('a:last')[0].nextSibling.remove();
});
答案 3 :(得分:0)
试试这个:
$(".myclass").contents().filter(function(){ return this.nodeType == 3; }).remove();
<强> Working Demo 强>
答案 4 :(得分:0)
$('.myClass').html($('.myClass').html().substring(0,$('.myClass').html().lastIndexOf(">")))
我也遇到了类似的问题。这也可能对你有所帮助 How do I select text nodes with jQuery?