这是我的html和jquery,当页面加载时,我应该得到一个值为10的警告框,但我得不到任何结果。我做错了什么?
<html>
<head>
<script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
val = $("#t").text();
alert(val);
</script>
</head>
<body>
<div id="t">10</div>
</body>
</html>
答案 0 :(得分:3)
尝试并始终将代码包装在document
填充元素时运行,如下所示:
<script type="text/javascript">
$(function() {
val = $("#t").text();
alert(val);
});
</script>
...否则,当$("#t")
运行以选择id="t"
元素时,它会运行...但元素不在DOM中以便查找。
答案 1 :(得分:1)
HTML
<div id="t">10</div>
在脚本之后,脚本会在找不到任何内容之前运行。
您必须更改订单
<div />
<script />
或使用jQuery.ready
<强> Example on jsBin 强>
答案 2 :(得分:0)
您正在尝试从尚不存在的元素中检索某些内容。最简单的解决方案是将您的JS代码移到HTML的底部(就在</body>
之前)。
另一个解决方案是将您的代码“包装”在jQuery ready事件中:
$( document ).ready ( function () {
val = $("#t").text();
alert(val);
} );
当准备好使用。操作时,将触发就绪事件。
答案 3 :(得分:0)
试试这个
<div id="t">10</div>
val = $("#t").html();
alert(val);
答案 4 :(得分:0)
脚本在浏览器处理div之前执行。
div还没有在DOM中。
您可以将scrip标记移动到div下面,也可以将代码包装在on ready函数中:
<script type="text/javascript">
$(function () {
val = $("#t").text();
alert(val);
});
</script>