我有一个外部.js文件,其中包含以下代码。
function cars() {
cars=["BMW","Ford","Nissan"];
document.write("<h3>"+Cars+"</h3>");
for (var j=1;j<cars[j].length;j++)
{
document.write("<h2>"+cars[j]+"</h2>");
}
}这是HTML
<html lang="en">
<head>
<script type="text/javascript" src="assets/js/cars.js"></script>
</head>
<body>
<span id="cars">
<script>cars();</script>
</span>
</body>
</html>当我查看浏览器时,我看到的是汽车列表,但当我查看源代码时,我看到的是列表所在的"<script>cars();</script>"。我在使用.innerHTML时遇到了问题,它是如何处理外部.js文件的?谁能帮帮我。
发布于 2013-12-10 23:37:26
使用jQuery,您可以创建如下标签:
$('<h2>').text('hello')jQuery允许您使用选择器按类或按名称获取元素:
$('#cars') //this gets your cars span您可以对返回的元素调用函数,例如向其追加一个元素:
$('#cars').append(some_element)您可以使用for循环为数组中的每个元素创建一个元素:
for (var i = 0; i < cars.length; i++) {
$('#cars').append($('<h2>').text(cars[i]));
}或者您可以使用map:
$('#cars').append(cars.map(function (car) { return $('<h2>').text(car); }));如果你喜欢一种更实用的方法...
发布于 2013-12-10 23:37:37
也许您可以使用jquery函数append()
您必须稍微更改一些代码,例如,下面这行:
document.write("<h3>"+Cars+"</h3>");此外,请记住,Cars不是脚本中的变量。
您可以使用:
$('#cars_div').append("<h3>Cars</h3>");并创建一个名为cars_div的div,以便在上面编写html代码。
另一个技巧,你的for循环。请记住,您的cars数组有3项。要访问第一个,您需要执行一个cars[0]。在for循环中,var j=1跳过第一个。
如果您需要使用jquery的可能解决方案,这里有一个fiddle。
发布于 2013-12-10 23:43:15
我对你的javascript做了一些修改,但我能够很好地检查over on plunker

https://stackoverflow.com/questions/20498350
复制相似问题