如何在没有类名的内容的情况下删除html元素?

时间:2012-07-09 12:13:47

标签: javascript jquery dom

如何通过jQuery或Javascript获取此输出:

HTML:

This is a <span class="getClass" >test</span> for javascript and jquery Then suppose <span class="getClass" >it</span>. how can i change it in multiple line <span class="getClass" >look</span> like this

输出:

This is a test for javascript and jquery

我尝试了一些代码,但它不起作用,如:

<Script>
        $('.getClass').unwrap();
</script>

但它删除了父元素而不是元素本身。

我只对类元素进行类选择器访问,并希望删除整个元素。我无法阅读元素内的文字。

谢谢。

4 个答案:

答案 0 :(得分:1)

试试这个,

<强> Live Demo

$('.getClass').replaceWith($('.getClass').text());

如果您不想更改DOM但只需要获取没有span标签的文本,那么您可以使用

$('.getClass').text();

答案 1 :(得分:1)

您应该可以将其设置为文字内容(请参阅text()

$(containerSelector).text(function (_, text) {
    return text;
});

答案 2 :(得分:0)

基本上,您只需要文本。使用.text返回文本,并自动删除所有标记。通过使用.text设置文本,您可以有效地删除它们:http://jsfiddle.net/s4DJP/

$("...").text(function(i, text) {
  return text;
});

答案 3 :(得分:0)

更通用,使用正则表达式:

$().ready(function(){
var htmlstr = 'This is a <span class="getClass" >test</span> for javascript and jquery';
var regex = /(<([^>]+)>)/ig;
    var plainstr = htmlstr.replace(new RegExp(regex ), "");
    alert(plainstr );
});​

http://jsfiddle.net/Qjvxf/4/