0

有以下 HTML,使用 JQuery 我想删除销售价格:我如何删除它,我尝试使用以下 Jquery 但它不起作用

查询代码:

$('Sale Price:').detach();

HTML 代码:

 <b class="cartvalB">
    <font class="pricecolor colors_productprice">
    Sale Price:
    <span class="cartvalB_span" itemprop="price">$175.00</span>
    </font>
    </b>
4

4 回答 4

0

这可以通过稍微更改您的标记并使用 javascript 来完成。我相信你也可以使用 jQuery 来做到这一点,但我并不那么熟悉。首先,你需要把你的文本放在一个可以被 javascript 访问的元素中。

<div id="myDiv" class="cartvalB">
   Sale Price:
</div>

如果您在 ASP.Net 中执行此操作,您可以只使用标签控件。

现在,您想在 javascript 中访问 div:

function myScript(){
   var myDiv = document.getElementById('myDiv')
    myDiv.innerText =''
}

这会更改 div 的内部文本。您还可以更改可见性、样式等。Div 就像所有 html 元素一样,具有可以通过 DOM 访问的一整套属性。在这里查看它们:http: //msdn.microsoft.com/en-us/library/ie/ms535240%28v=vs.85%29.aspx

我只是随意放手,所以它没有经过测试,但应该稍微轻推一下。如果没有,请告诉我。

于 2013-02-27T12:58:49.117 回答
0

你不能这样查询文本。您必须改为选择父元素,循环内容,然后查找(并删除)您需要的文本节点。参考 如何使用 jQuery 选择文本节点?使用 jQuery 删除文本

例子:

var textContent = 'textContent' in document.body ? 'textContent' : 'innerText';

$('.colors_productprice').contents().filter(function()
{
  if(this.nodeType == 3)
  {
    var content = this[textContent];

    if(content == 'Sale Price:') return true; // found just this text node... now remove it
  }

  return false;
}).remove();

或者,您可以操作内部 HTML,例如:

var html = $('.colors_productprice').html();
html = html.replace('Sale Price:', '');
$('.colors_productprice').html(html);

如果您将任何事件绑定到任何子元素,这可能会产生影响,colors_productprice但如果没有,那么这应该是一个安全且简单的解决方案。

于 2013-02-27T13:02:48.147 回答
-1
var span = $('.cartvalB .cartvalB_span');
$('.cartvalB font').empty().append(span); 

应该做的伎俩

于 2013-02-27T12:58:41.410 回答
-1
<script>
alert("HI...");
$(document).ready(function(){
alert($('span')[0].innerHTML);
$('span')[0].innerHTML = "";
alert($('span')[0].innerHTML);
});
</script>

</head>

<body>
<b class="cartvalB">
    <font class="pricecolor colors_productprice">
    <span>Sale Price:</span>
    <span class="cartvalB_span" itemprop="price">$175.00</span>
    </font>
    </b>
</body>
于 2013-02-27T12:57:13.843 回答