我在使用jQuery替换字符串的链接时遇到问题。如果我将字符串传递给jQuery,使用
$("<div />").html(myContentString))
jQuery删除所有非关闭的html标记。如果我有一个未打开的ul元素,并且只有字符串中的结束,那么jQuery会将其删除。
关于如何迭代&#34;部分html字符串的所有href属性的任何想法&#34;?我做了一个简单的例子来说明这一点:
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块拆分为三个部分。别问,这是一个完全不同的故事;)
答案 0 :(得分:0)
这就是DOM和jQuery的工作方式。我能给你的最佳解决方案是在你完成后手动添加它们:
console.log($content.html() + '</ul></div>');