2013-07-04 129 views
4

这种形式给定的HTML:删除标签(和标签内容),但留下的文字

<div> 
    <a href="#">Generic Anchor</a> 
    <li> Some text </li> 
    <b> More stuff </b> 
    Just text. 
</div> 

当标签是随机的,是有jQuery中(或Javascript)的方式将其降低到只有文字,这意味着

<div> 
    Just text. 
</div> 

无需指定特定的标签条(我知道的.text(),但我不希望我删除标记的内容)。

回答

5

试试这个:http://jsfiddle.net/5SRLE/1/

$("div").children().remove(); 

当然,你要定位的特定div与选择(如果你有,你不希望从删除其他儿童的div)。如果你有问题,显示你的背景,所以我们可以使它更具体的...或者给你的div一个id像myDiv,然后代替$("div")

+0

,似乎工作使用选择$("#myDiv"),但由于某种原因做后'$(this).children()。remove()','$(this).text()'失败,但'this.textContent'起作用。这是预期的行为? – Ford

+0

'text()'似乎在这里工作得很好:http://jsfiddle.net/5SRLE/2/。如果出于某种原因'text()'不适合你而是'textContent',那么继续使用'textContent'(甚至是'innerHTML',因为你已经删除了非文本内容)。如果你可以使用元素属性而不是jQuery方法,那么我宁愿这样做。 – smerny

+0

Yah,我不知道为什么'text()'不起作用,但是如果我可以得到文本,它并没有什么不同。 – Ford

相关问题