字符串中的HTML标记会破坏javascript / jquery

时间:2011-06-06 20:06:09

标签: javascript jquery html

$("p").click(function(){
$(".Part1 p").html("some new text that will replace what <br /> was in the paragraph.   <p> and a paragraph </p>");
});

编辑:已添加);为了清晰起见。

当我尝试在我的字符串中放置html标签时,它或者根本不显示<br />的情况,或者它会破坏脚本并且我得到一个错误,就像{{1}的情况一样}}

如何将html标签添加到字符串中,以便我可以按照我想要的方式格式化文本,但仍然可以进行动态更改?

4 个答案:

答案 0 :(得分:4)

<br />应该不是问题,但<p>元素不能是另一个<p>元素的子元素,因此您尝试构造无效的DOM(以及错误是可以预期的。)

答案 1 :(得分:1)

适合我:http://jsfiddle.net/D6XCv/

但也许你忘了关闭click()事件的“)”:

$("p").click(function() {
    $(".Part1 p").html("some new text that will replace what <br /> was in the paragraph.   <p> and a paragraph </p>");
}); // <== this ")" !

答案 2 :(得分:0)

当我在浏览器中对此进行测试时,我需要附加一个尾随);

$("p").click(function(){
$(this).html("some new text that will replace what <br /> was in the paragraph.
    <p> and a paragraph </p>");
});

答案 3 :(得分:0)

  

我正在使用TextWrangler,当它在字符串中时会转到'&lt; script&gt;

序列</将在SGML(以及HTML 4)规则下结束对脚本元素的解析(尽管很多浏览器都没有这么认可)。

或者:

  1. 使用外部脚本文件和src
  2. 逃避斜线字符:<\/