这个jQuery示例有什么问题?

4
以下jQuery示例应该将一些文本放入div中,但它没有。我尝试了Firefox、Google Chrome和Internet Explorer。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" language="javascript"></script>
<script language="javascript">

$(window).load(function() {

  $('adiv').html('<p>hello world</p>');
  alert('done');

});
</script>
</head>

<body>
<div id="adiv">
</div>
</body>

</html>

抱歉,这可能很愚蠢,但我卡住了。


1
尝试使用type='text/javascript'代替language。它是一个已弃用的属性。 - yarmiganosca
谢谢大家。很抱歉只能接受一个答案。e-turhan最快。 - Sven Larson
Tim,你说得对。但是我这样做是因为问题在大约2分钟后就被迅速回答了。但是SO允许我在10分钟后接受答案。我后来忘记删除它了。 - Sven Larson
6个回答

10

$('adiv').html('<p>hello world</p>');更改为

$('#adiv').html('<p>hello world</p>');

1

在你的选择函数中实际上没有选择任何内容

在你的$(打开之后,你需要使用一个CSS3有效的选择器。只有一个字符串不会选择任何东西,除非它是一个HTML元素(tabledivh2

你需要在前面加上一个.#来表示类名或ID名。


0
<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" language="javascript"></script> <script language="javascript">  $(window).load(function() {    $('#adiv').html('<p>hello world</p>');   alert('done');  }); </script> </head>  <body> <div id="adiv"> </div> </body>  </html>

将此代码粘贴到您的查询中

它会起作用的


0

正如e-turhan已经提到的,你需要在$()中的adiv前面加上#,否则这不是一个id选择器。另外,最好将这些.load()事件放在.ready() jQuery事件内部,其著名的快捷方式是$(function() { //当DOM准备就绪时执行 });。在你的情况下:

$(function(){

$(window).load(
 function(){
   $('#adiv').html('<p>hello world</p>');   
 }

);

0

$('adiv') 应该改为 $('#adiv')

与 Prototype 不同,在 jQuery 中您需要指定一个 CSS 选择器,而不仅仅是一个被隐式推断为 ID 的字符串。我自己有时也会忘记这一点。


-1
尝试使用$(document).ready(function()...而不是$(window).load(function()...。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接