使用jquery .html()插入html
我想在预先存在的
$("td#content").html(LOTS_OF_HTML_CODE_HERE);
但它不起作用。 我是一个菜鸟,有很多引号和'
在HTML块中,似乎打破了它。 这样做的正确方法是什么?
我建议将html统一为一个字符串……就像这样。
htmlStr = ""; htmlStr += "some paragraph"; htmlStr += "
another paragaraph
"; $("#content").html(htmlStr);
通过这种方式,您可以看到html发生故障的位置,并为javascript创建的内容增加了很多可读性。
也…
如果你想保留这个TD的内容,我会使用append()
jquery方法。
jquery文档是你最好的朋友!
Javascript对多行字符串或HEREDOC语法没有很好的支持,但有一些解决方法。
在每行的末尾添加一个反斜杠“\”,让脚本引擎知道你继续到下一行而不完成:
使用XML CDATA hack( http://mook.wordpress.com/2005/10/30/multi-line-strings-in-javascript/ ):
我要做的是按照以下方式将所有HTML放入div中:
然后何时执行此操作:
$("td#content").html($("#myHTML").html());
可能是什么问题是换行。 如果你有一个字符串(用“”或“’括起来),那么你会发现换行符会”破坏“你的代码……所以你必须把所有的HTML放在一行上。
Stefan是对的,但要用引号回答你的问题,不要忘记逃避任何会破坏它的东西,所以如果你有html("...etc...");
它需要是html("...etc...");
为了使双引号不按字面意思读取。
如果引号破坏了您的代码,请尝试此操作…
$("td#content").html("my link");
报价未被转义。 只需在HTML代码中的任何引号,双重或单引号之前添加反斜杠。 应该这样做。 ;)
如果它是从一个链接进来的,你可能想用AJAX来做:
$("#YOUR_ELEMENT").load("THE_CONTENT_TO_LOAD");
但是,请记住,如果您尝试从不同域上的站点提取HTML,则需要使用服务器代理和所有这些东西…超出问题范围。
您可能应该使用jquery创建元素,而不是使用大字符串。 如果你只是使用一个大字符串,你就不能确定dom的正确性,而且几乎不可能进行调试或修改。
这类似于手工构建xml。 这不是首选方式。
- Slick-carousel如何通过youtube api打开video时停止自动播放
- 使用jquery获取google plus shares
- Yahoo Weather,Yahoo GeoPlant,Google Weather或其他用javascript连接的API?
- 推文仅使用Javascript
- 使用jQuery的Youtube iframe播放器JS API – 播放器对象没有方法’getPlayerState’
- 使用Youtube的javascript API和jQuery
- 谷歌地图v3 API + jQuery冲突?
- Access-Control-Allow-Origin不允许使用origin http:// localhost。
- 如何使用jquery对api进行jsonp调用