2012-05-09 32 views
0

我有一个html组件,它可以在表中创建可变数量的行。在这个组件中有几个CSS类,例如如何在JavaScript forloop中呈现大块HTML内容

<div class="row" style="margin-left:0"> 

如何将这一大块HTML嵌入到javascript forloop中?我知道如何使用document.write(“”)的唯一方法,但类中的引号会弄乱它。

更新: 任何想法为什么使用innerHTML时忽略它们中的标签和一切?

+0

如何代码*的*剩下什么样子的? – Joseph

+0

使用单引号.. document.write(''); –

回答

2

创建一个ID为someDiv(或任何你想要的)为这个工作。

document.getElementById("someDiv").innerHTML = '<div class="row" style="margin-left:0">'; 

我用单引号包裹字符串,以避免在HTML中的双引号冲突。

+0

使用innerHTML时,为什么标签及其内的所有内容都被忽略? – James

+0

@詹姆斯:他们不应该。但是,我认为这可能属于另一个问题。 –

+0

FYI问题#2发生了,因为我在表格中插入一个div,div必须是 – James

0

您需要在javascript中转义您的引号。

alert('Oh, heya, I didn\'t see you, so "Hello"'); 
0

JavaScript是不是很大表达HTML作为,除其他事项外,它缺乏Heredoc语法导致你不必转义任何字符串(由@DavidYell的建议)。

这可能是值得考虑使用的templating engineMustache.jsUnderscore.js

+0

什么!? Javascript对于表示HTML并不好? Dude,Moustache和Underscore是用Javascript编写的。 –

+0

...和被设计,因为在字符串表达的HTML是一个痛苦的整个世界。它不像JavaScript甚至提供[E4X语法](https://developer.mozilla.org/En/E4X/Processing_XML_with_E4X)默认情况下用于处理XML。 – JonnyReeves

+0

我只能说Javascript是为了与HTML(包括表达)合作而明确设计的。下划线不会让这更容易。 –