获取存储在var中的div的内部html

时间:2013-03-14 12:21:01

标签: javascript jquery html

我从服务器获取一些数据,并且它已经预先打包在元素中。问题是这些标签中有很多我不想要的东西。有没有人有任何建议只获得这些元素的HTML?我有一些有用的东西,但它是黑客,更糟糕的是,它假设我知道标签的属性,我不会总是:

以下是一些JQuery(请参阅此处的操作:http://jsfiddle.net/tPJau/):

$(function () {
    var rawString = "<div id='something' myAttr='somethingElse' > Free me!</div>";
    $('#content').append(rawString);
    var cleanString = $('#something').html();
    $('#something').remove();
    $('#content').append(cleanString);
});

这里有一些HTML:

<div id="content">original content</div>

哪个给了我

<div id='content'>
    original content Free me!
</div>

亲爱的社区,所以我的问题是,如果没有#了解div属性,我该如何完成这个#?

6 个答案:

答案 0 :(得分:3)

您可以将HTML传递给JQuery函数,它将在内存中创建一个元素。

然后,您可以像在页面中实际存在的任何其他元素一样操纵该元素。

$(function () {
    var rawString = "<div id='something' myAttr='somethingElse' > Free me!</div>";
    var cleanString = $(rawString).html(); // ... or .text()
    $('#content').append(cleanString);
});

答案 1 :(得分:1)

试试这个

$(function () {
    var rawString = "<div id='something' myAttr='somethingElse' > Free me!</div>";
    var node = $('#content');
    node.html(node.html() + $(rawString).text());
});

答案 2 :(得分:1)

如果你知道它是div那么;

 var cleanString = $('#content div').text();

另一种选择是使用;

var cleanString = $(rawString).text();

答案 3 :(得分:1)

我相信你所追求的是“释放我!”的内容。您可以直接从rawString变量中提取它:$(rawString).html()。这只是用jQuery函数包装HTML,它允许你获取该元素的内部HTML。

答案 4 :(得分:1)

试试这个

$(function () {

    var rawString = "<div id='something' myAttr='somethingElse' > Free me!</div>";
    var rawHtml = $( rawString ).html();

    $('#content').append(        
        rawHtml
    );
});

答案 5 :(得分:1)

正则表达式,如果你想:

var rawString = "<div id='something' myAttr='somethingElse' > Free me!</div>";
var re = /<[^>]+>([^<]*)/;
var matches = rawString.match(re);

$('#content').append(matches[1]);

jsfiddle:http://jsfiddle.net/tPJau/4/