我需要输出一个包含html代码的Javascript变量的内容:
var jsVar = '<div>
<p> Sample text </p>
<img src="some image.jpg" alt="" />
<div>';
我想使用innerHTML将其添加到页面上的对象中。我该怎么做?
答案 0 :(得分:4)
var element = document.getElementById("myElementId");
element.innerHTML = jsVar;
这是假设您通过getElementById()获取元素;有许多方法可以在JavaScript中获取元素,比如getElementsByTagName()(返回一个元素数组)或者通过监听作为参数传递给它们的元素的事件。
此外,您将字符串加载到jsVar的方式目前无效。您需要将它全部放在一行上,或者连接多个字符串,如下所示:
// Method 1
var jsVar = '<div><p> Sample text </p><img src="some image.jpg" alt="" /><div>';
// Method 2
var jsVar = '<div>' +
'<p> Sample text </p>' +
'<img src="some image.jpg" alt="" />' +
'<div>';
答案 1 :(得分:2)
var element= document.getElementById("elementID");
element.innerHTML = someHTMLstring;
答案 2 :(得分:2)
document.getElementById('id').innerHTML = jsVar;
答案 3 :(得分:0)
另请注意,您必须使用\n
代替JavaScript中的换行符:
var jsVar = '<div>\n<p> Sample text </p>\n<img src="some image.jpg" alt="" />\n<div>';
如果您不这样做,您将收到“unterminated string literal
”错误。
答案 4 :(得分:0)
您指定的字符串不能跨越多行:
这不起作用
ttt = "ab
c";
这样做
ttt = "ab" +
"c";
最好是逃避所有特殊字符,并删除字符串中的换行符(我不喜欢用'做的字符串',尽管这是个人的事情:)。
var jsVar = "<div><p> Sample text </p> <img src=\"some image.jpg\" alt=\"\" /><div>";