所有Javascript行未执行
All Javascript line not executed
我有一个简单的html页面是-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(e) {
var s = $("#d").get(0).getElementsByTagName("a");
for(var x=0;x<s.length;x++){
document.writeln(s.length);
}
var k=document.createElement("a");
k.innerHTML="hello";
var q=document.getElementById("d");
q.appendChild(k);
});
</script>
</head>
<body>
<div id="d">
<a><img class="zzz"/></a>
<a><img class="zzz"/></a>
</div>
</body>
</html>
对于循环,Javascript只执行到为止(元素k不追加)。如果for循环被删除,那么只有元素k被追加。下面的代码是不是应该在for循环执行后执行?
欢迎来到StackOverflow!在你学习开发的过程中给你一些建议:
- 总是使用有意义的变量名,很难跟踪单字母变量表示
- 不要使用文档。写调试时,使用 的控制台
- 如果您使用的是像当你开始使用jQuery的时候,尽可能多地使用它学习它。只有当你有一个引人注目的这样做的原因
你的函数可以用纯jQuery重写,像这样:
$(function() {
var container = $('#d');
console.log(container.find('a').length);
container.append('<a>hello</a>');
});
我没有运行你的代码,但你的错误可能与这条语句有关:$("#d").get(0).getElementsByTagName("a");
。eq()
方法返回一个jQuery对象,该对象上没有getElementsByTagName()
方法。
如果您想要一个没有jQuery包装器的普通DOM对象,您可以像数组一样处理jQuery对象:$('#d')[0].getElementsByTagName("a");
,但就像我说的,如果要使用它,最好坚持使用jQuery库。
祝你学习好运!
你不能在文档加载后使用writeln
(或write
)(或者我最好说:你不应该,因为它会覆盖整个文档,包括#d
,这将导致错误,因为这个元素在使用writeln
后不再可用)
我猜你想要这样的东西:
$(document).ready(function(e) {
$('a').prepend(function(i){return i;});
$('#d').append('hello');
});
演示:http://jsfiddle.net/stRBU/2/
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 在Safari执行javascript之前对其进行修改
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- 使用Rhino和ASE执行Javascript的区别
- 如何在加载完整页面后严格执行javascript代码
- 在动态加载的对话框中执行Javascript
- 在Sinatra中执行Javascript
- 通过AJAX加载页面并执行javascript和CSS
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- 如何在seleniumwebdriver中执行javascript提示并等待接受输入
- 在window.open()生成的窗口中执行JavaScript
- AJAX成功回调-执行javascript时出现问题
- 通过指令在控制器中执行javascript函数
- 从React Native Android原生地执行JavaScript代码
- iframe未执行Javascript方法(PHP)
- 执行JavaScript代码,使用selenium webdriver或WatiN从控制台获取日志
- 通过web驱动程序异步执行Javascript
- 如何在长时间执行JavaScript期间显示微调器
- 点击困难时执行javascript函数