我在span类中有两个文本字符串,我需要使用jQuery或vanilla Javascript删除它的一部分。字符串是#AAA和#AAB
我之前使用了一些变体来实现这个结果,但是在这个span类中它似乎不起作用。
这是我尝试的脚本:
$j('document').ready(
function() {
$j(”span.sku").text(function() {
return $(this).text().replace(/(#AAA |#AAB)/g, "");
}).addClass(”remove");
});
和
$j('body').ready(function(){
$j( ”span.sku:contains('#AAA')" ).addClass( ”remove" );
$j( ”span.sku:contains('#AAB')" ).addClass( ”remove" );
});
最后一个我试图设置一个我可以用CSS隐藏的类。
$ j用于网站正在使用的非冲突模式。
html:
<div class="product_meta">
<span class="sku_wrapper">SKU: <span class="sku" itemprop="sku">K1J2AEA#AAA</span></span>
<meta itemprop="brand" content="HP">
<meta itemprop="gtin14" content="">
<meta itemprop="itemCondition" itemtype="http://schema.org/OfferItemCondition" content="http://schema.org/NewCondition">
<span class="posted_in">Categorie: <a href="/category/computers/notebooks/" rel="tag">Notebooks</a></span>
</div>
答案 0 :(得分:1)
您需要使用'
或"
字符串文字,还需要删除正则表达式中的(空格)
var $j = jQuery.noConflict(true);
$j(function($) { //dom ready handler receives a jQuery object reference as its parameter so you can assign it ti $ and use it inside the handler
$("span.sku").text(function(i, text) {
return text.replace(/#AAA|#AAB/g, "");
}).addClass('remove');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="product_meta">
<span class="sku_wrapper">SKU: <span class="sku" itemprop="sku">K1J2AEA#AAA</span></span>
<meta itemprop="brand" content="HP">
<meta itemprop="gtin14" content="">
<meta itemprop="itemCondition" itemtype="http://schema.org/OfferItemCondition" content="http://schema.org/NewCondition">
<span class="posted_in">Categorie: <a href="/category/computers/notebooks/" rel="tag">Notebooks</a></span>
</div>
&#13;
答案 1 :(得分:0)
你甚至不需要使用正则表达式:
var str1 = 'bananarama';
var str2 = 'rama';
str1 = str1.replace(str2, '');
document.body.innerHTML = str1;
&#13;