提问人:Kevin Lindmark 提问时间:12/2/2017 更新时间:12/3/2017 访问量:543
xhtml 和 jQuery 是否有简单的方法来附加 html?
xhtml and jQuery is there and easy way to append html?
问:
登录以在jQuery中构建html代码并附加到DOM的简单方法,而无需处理特殊的html字符,如下所示。附加 yyyy 不起作用。有什么简单的方法吗?
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div").append("xxxxx");
$("div").append("<span>yyyyy</span>");
$("div").append("<span>zzzzz</span>");
});
</script>
</head>
<body>
<div>
</div>
</body>
</html>
答:
1赞
Alohci
12/3/2017
#1
使用 XML 时,yyyyy 是已分析的字符数据,即使它位于 script 元素内。(HTML 解析器知道切换到未解析的字符数据,但 XML 解析器不知道)text/html
因此,您需要使用 CDATA 分隔符以及在脚本的开头和结尾明确地告诉它。所以:<![CDATA[
]]>
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script>
<![CDATA[
$(document).ready(function(){
$("div").append("xxxxx");
$("div").append("<span>yyyyy</span>");
$("div").append("<span>zzzzz</span>");
});
]]>
</script>
</head>
<body>
<div>
</div>
</body>
</html>
或者,如果您仍希望以当前的方式添加 zzzzz,请在该行附近添加 CDATA 分隔符。$("div").append("<span>yyyyy</span>");
评论
0赞
Mr Lister
12/3/2017
或者,你可以用艰难的方式做到这一点。,依此类推;这不需要任何小于标志。但是,最好的方法,也就是不必区分 HTML 和 XHTML 环境的唯一方法,是将所有脚本放在外部加载的 .js 文件中。createElement('span');
createTextNode('yyyyy');
评论