要完全删除这些词:
$('.subscription-price').each(function(){
var text = $(this).find('.amount')[0].nextSibling;
text.nodeValue = text.nodeValue.replace('29-day free trial','');
});
JS 小提琴演示。
要删除第一个之后的所有内容span
:
$('.subscription-price').each(function(){
var text = $(this).find('.amount')[0].nextSibling;
text.parentNode.removeChild(text);
});
JS 小提琴演示。
要隐藏它,您需要包装另一个元素,以便 CSS 定位这些单词:
$('.subscription-price').html(function(i,h){
return h.replace('29-day free trial', function(a){
return '<span class="hideMe">' + a + '</span>';
});
});
再加上CSS:
span.hideMe {
display: none;
}
JS 小提琴演示。
或者,再次隐藏以下所有内容span
:
$('.subscription-price').each(function(i,h){
var text = $(this).find('span')[0].nextSibling;
$(text).wrap('<span class="hideMe"></span>');
});
JS 小提琴演示。
再次隐藏“29 天...”部分,允许使用各种数字而不是29
:
$('.subscription-price').html(function(i,h){
return h.replace(/(\d{1,2}-.+)/, function(a){
console.log(a);
return '<span class="hideMe">' + a + '</span>';
});
});
JS 小提琴演示。
显然,要隐藏元素之后的所有内容.amount
,最后一个代码块之前的 jQuery 片段仍然可以工作,因为它不是基于数字隐藏,而是它在 DOM 中的位置。