jQuery修改了部分html的字符串

时间:2014-10-21 17:07:13

标签: javascript jquery string parsing

我在使用jQuery替换字符串的链接时遇到问题。如果我将字符串传递给jQuery,使用

$("<div />").html(myContentString))

jQuery删除所有非关闭的html标记。如果我有一个未打开的ul元素,并且只有字符串中的结束,那么jQuery会将其删除。

关于如何迭代&#34;部分html字符串的所有href属性的任何想法&#34;?我做了一个简单的例子来说明这一点:

http://jsfiddle.net/yporqgod/

var content = "<li>Option <a href='jadda1'>number 1</a></li><li>Option number <a href='2'>dos</a></li></ul></div>",
    $content = $('<div/>').html(content);

console.log($content.html()); /* no </ul> nor </div> */

$content.find("a").each(function() {
    var thisHref = $(this).attr('href');
    $(this).attr('href', 'exchanged-' + thisHref); 
});

console.log($content.html());`

提前致谢。

DS。 在字符串中使用非关闭的html标记的原因是我必须将更大的html块拆分为三个部分。别问,这是一个完全不同的故事;)

1 个答案:

答案 0 :(得分:0)

这就是DOM和jQuery的工作方式。我能给你的最佳解决方案是在你完成后手动添加它们:

console.log($content.html() + '</ul></div>');