当我使用AJAX技术时。为了生成HTML,我发现浏览器不会解析标签,只是将其作为原始字符串打印在表格中。什么可能有问题?
var html = "<table border=\"1\" style=\"border: 1px solid; text-align: center; font-family: Times New Roman; font-size: 12px;\">";
html += "<tr><td><b>Cover</td><td><b>Title</b></td><td style=\"width: 100px;\"><b>Movie Dutation</b></td><td><b>Showtime</b></td><td><b>Tweet</b></td></tr>";
for(var i = 0; i < movies.movies.movie.length; ++i){
var movie = movies.movies.movie[i];
var cover = movie.cover;
var title = movie.title;
var duration = movie.duration;
var showtime = movie.showtime;
var theatre = movie.theatre;
var url = movie.url;
var twitter = "I am planning to watch #" + title + " @ " + theatre + "... " + url;
html += "<tr>";
html += "<td>" + "<img " + "src=" + cover + ">" + "</td>";
html += "<td>" + title + "<a href=\"\">helloWorld</a>" + "</td>";
html += "<td>" + duration + "</td>";
// The <a> tag would not be parsed.
html += "<td>" + showtime + "</td>";
html += "<td>"
+ "<a href=\"https://twitter.com/share\" class=\"twitter-share-button\""
+ " data-url=\"blog.denglitao.org\""
+ " data-counturl=\"blog.denglitao.org\""
+ " data-text=\"" + twitter + "\""
+ " data-count=\"vertical\""
+ ">Tweet</a>"
+ "</td>";
html += "</tr>";
}
html += "</table>";
document.getElementById("content").innerHTML = html;
showtime是包含标记的字符串。
答案 0 :(得分:0)
如果可能,请从showtime中删除标记,并将其添加为其他标记。
如果你不能在showtime上将字符串替换为“&lt;”和“&gt;”将通过AJAX返回时编码为html等效。
尝试:
showtime.replace(/[<]/g,'<').replace(/[>]/g,'>');