从数组对象中删除所有标记和样式

时间:2013-07-24 04:36:22

标签: javascript jquery html

我从API中获取了一组对象:

var result = {
  [0]: {
    created_at: "2013-04",
    id: "444556663333",
    num_comments: 1,
    num_likes: 0,
    text: "<p>dfgg</p>",
    title: "title1",
    updated_at: "2013-04"
  },
  user: {
    first_name: "bob",
    id: "43633",
    last_name: "ddd"
  }
}

文本字段从网站引入原始格式。这包含一堆不同的标签,如跨度和字符,如img,p,a,strong,em,br,&amp; amp如何从对象中删除所有这些标签除了文本字段中的P标签之前BEFORE我把它传递给下划线模板?

谢谢!

如何使用我的代码完成此工作?不了解选择器的工作方式

var results = getCanvasPosts(CanvasID, {count: 75, start: ""}); //get posts from API

 $.when(results).done(function(posts){  
    var template = $("#template").html();

//Put function here?

    //merge template and data
    $("#target").html(_.template(template,{posts:posts} ));
 });

2 个答案:

答案 0 :(得分:1)

使用jQuery,你可以这样做:

var text = '<p>asdasd</p><div>asddsa</div>';

var only_p = $('p', $('<div>' + text + '</div>'));

所以你用text包裹<div>并从中选择p

答案 1 :(得分:1)

试试这个

var whitelist = "p"; // for more tags use the multiple selector, e.g. "p, img"
$("#text *").not(whitelist).each(function() {
    var content = $(this).contents();
    $(this).replaceWith(content);
});

http://jsfiddle.net/JEnvr/3/