2013-02-27 85 views
0

有以下HTML,使用JQuery我想删除售价:我如何删除它,我用下面的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> 
+3

2013年'font'元素? – undefined 2013-02-27 12:52:41

回答

-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> 
+0

当你有'html()'客栈jquery时,为什么'innerHTML'? – mithunsatheesh 2013-02-27 13:01:00

-1
var span = $('.cartvalB .cartvalB_span'); 
$('.cartvalB font').empty().append(span); 

应该做的伎俩

+1

不确定是否可以从他的最终结果标记中删除'font'标记。我可能会选择更安全的路线,并且将空字体标签(也可以通过班级定位)而不是完整的父跨度。 – 2013-02-27 13:05:38

+0

@EliGassert哦忘了'font'标签:\ – shevski 2013-02-27 13:07:10

0

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

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

如果你在ASP.Net中这样做,你可以使用标签控件。

现在,你要访问的DIV在javascript:

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

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

我只是自由交付这个,所以它没有测试,但应该与一点点推动工作。如果没有,请告诉我。

+0

如果改变标记是一个选项,他甚至不需要jquery删除元素 - 他可以直接从文档中排除它,或者在它上面放上一个类,然后在样式表中设置'display:none'。所以我的预感正在改变,标记不是他的选择。值得发现,但! – 2013-02-27 13:04:04

0

你不能在这样的文本上查询。您必须改为选择父元素,循环内容,然后查找(并删除)所需的文本节点。参考How do I select text nodes with jQuery?Remove text with 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,但如果不是,那么这应该是一个安全和简单的解决方案。