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

编辑:添加);为了清楚起见,结束。字符串中的HTML标记中断javascript/jquery

当我试图把html标签在我的琴弦,要么不显示在所有的是<br />的情况下,或者它打破了剧本,我得到一个错误的是</p>

怎么回事我可以将html标签添加到字符串,以便我可以按我想要的方式格式化我的文本,但仍可进行动态更改?

+0

这应该很好地工作。你能发布一个链接到现场演示吗? – Blender 2011-06-06 20:07:48

+0

这是一个好主意,我应该首先想到。让我看看我能否在某个地方找到它。说到哪些人知道短时间内主持演示文件的方便之处? – kugyousha 2011-06-06 21:10:23

+0

jsfiddle.net真棒 – Blender 2011-06-06 21:12:14

回答

1

工作对我来说:http://jsfiddle.net/D6XCv/

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

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

感谢网站实际上,我只是从我写的一大段代码中抓住了这一行,在那一个我正确地关闭它对于混淆抱歉 – kugyousha 2011-06-06 20:55:07

+0

当我在该网站上测试它时,它也工作。真奇怪,它在一个地方,而不是另一个地方。 – kugyousha 2011-06-06 21:08:32

+0

这意味着问题来自其他地方。 – 2011-06-07 07:49:08

4

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

+0

即使当我用标签做它时,我也会看到你的意思(它实际上删除了在其中找到的文本标签)。我正在使用TextWrangler,并且在字符串中出现' kugyousha 2011-06-06 21:07:38

0

当我在浏览器中测试这一点,我需要追加尾随);

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

我只是从我写的一段较大的代码中抓住了那一行,在那一行中我正确地关闭了它,对于混淆感到抱歉。 – kugyousha 2011-06-06 20:55:16

0

我使用的是和的TextWrangler时字符串中它得到“<脚本>

序列</将结束一个脚本元素的SGML下解析(并因此HTML 4)的规则(尽管它不是由许多浏览器推崇那么多)。

或者:

  1. 使用外部脚本文件和src,或
  2. 逃离反斜杠字符:<\/
+0

当我使用<\ /我的代码突出显示回来,但后来当我试图在浏览器中运行它时,我得到了这个错误。 列144上的第17行上的错误:StartTag:无效的元素名称 – kugyousha 2011-06-06 21:20:51