我正在学习Javascript,我正在尝试学习一些非常基本的东西。基本上我在<p>
标签中有一些文本要附加到变量。但它不起作用,我不知道为什么。任何帮助将不胜感激。
<html>
<head>
<script type="text/javascript" src="js/jquery.js"> </script>
<script type="text/javascript">
var x = $('p').html();
document.write(x);
</script>
</head>
<body>
<p class="first">Hello World </p>
</body>
</html>
答案 0 :(得分:3)
将代码包裹在$.ready
处理程序中:
<script type="text/javascript">
$(function(){
var x = $('p').html();
document.write(x);
});
</script>
在加载和解析DOM之后,就绪处理程序将触发,这意味着您只能使用标记(或DOM)。
答案 1 :(得分:0)
我看不到任何不起作用的东西(example)
也许你应该写
jQuery(document).ready(function($){
//your javascript code
})
但是如果它不起作用,我应该提醒你document.write
通常会替换内容
答案 2 :(得分:0)
您正在运行脚本,然后才能在HTML中找到<p class="first">Hello World</p>
。将您的脚本放在正文中,而不是放在<p>
标记之后:
<html>
<head>
<script type="text/javascript" src="js/jquery.js"> </script>
</head>
<body>
<p class="first">Hello World</p>
<script type="text/javascript">
var x = $('p').html();
document.write(x);
</script>
</body>
</html>
您也可以像其他人所说的那样使用jQuery的就绪功能,但这是一个效率低下的解决方案,因为您已经知道文档中的哪个点加载了<p>
标记。最好在加载脚本后立即运行,等待使用$.ready
加载整个文档。