我需要输出具有HTML代码中有一个JavaScript变量的内容:输出使用的innerHTML
var jsVar = '<div>
<p> Sample text </p>
<img src="some image.jpg" alt="" />
<div>';
我想将它添加到对象的innerHTML使用在页面上。我该怎么做 ?
我需要输出具有HTML代码中有一个JavaScript变量的内容:输出使用的innerHTML
var jsVar = '<div>
<p> Sample text </p>
<img src="some image.jpg" alt="" />
<div>';
我想将它添加到对象的innerHTML使用在页面上。我该怎么做 ?
var element= document.getElementById("elementID");
element.innerHTML = someHTMLstring;
document.getElementById('id').innerHTML = jsVar;
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>';
另外请注意,你必须在JavaScript中使用\n
,而不是换行的:
var jsVar = '<div>\n<p> Sample text </p>\n<img src="some image.jpg" alt="" />\n<div>';
如果你不这样做,你会得到一个“unterminated string literal
”的错误。
这样做..replacing所有符合\ n – Iris 2009-04-17 17:39:40
你分配,不能跨越多行的字符串:
这不起作用
ttt = "ab
c";
但这
ttt = "ab" +
"c";
最好将逃逸所有的特殊字符和摆脱你的字符串中的换行符(我不喜欢用''完成的字符串,虽然这是个人的东西:)。
var jsVar = "<div><p> Sample text </p> <img src=\"some image.jpg\" alt=\"\" /><div>";
我得到一个未终止的字符串例外。如何删除换行符,空格等? – Iris 2009-04-17 17:31:13
如果你按照上面写的方式加载jsVar,那么你得到的错误是因为字符串被定义在多行上。您需要在一行上定义整个字符串,或者在每行上连接多个字符串。我会编辑我的答案,告诉你如何。 – 2009-04-17 17:36:24