根据javascript中,可以这样getElementsByTagName("p").innerHTML获得P标签内的东西
所以我觉得在jQuery中也可以这样:$('p').innerHTML
如下代码,但是系统反回的却是一个undefined,问题出在哪?<html>
<head>
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
var x=$('p').innerHTML;
alert(x);
}
)
</script>
</head><body>
<p>阿瓦的风</p>
</body>
</html>
所以我觉得在jQuery中也可以这样:$('p').innerHTML
如下代码,但是系统反回的却是一个undefined,问题出在哪?<html>
<head>
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
var x=$('p').innerHTML;
alert(x);
}
)
</script>
</head><body>
<p>阿瓦的风</p>
</body>
</html>
<script type="text/javascript">
$(document).ready(function()
{
var x=$('p')[0].innerHTML;
alert(x);
}
)
</script>
var x = $('p:eq(0)').innerHTML;
alert(x);
});//原生JS写法
window.onload = function() {
var x = document.getElementsByTagName('p')[0].innerHTML;
alert(x);
}
getElementsByTagName()返回的是个数组。
var x=$('p').innerHTML 中$('p')返回的是一个数组Array<Element(s)>,所以应该是
var x=$('p')[0].innerHTML
是的,用getElementById()取得的是个对象,唯一的,不需要也不应该加上索引访问。
但实际上用ID不加[0]的话,还是会出现undefined
window.onload = function() {
var x = document.getElementById('p1').innerHTML;
alert(x);
}
</script>
<p id='p1'>阿瓦的风</p>
设置了啊,看如下代码<html>
<head>
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
var x=$("#aa").innerHTML;
alert(x);
}
)
</script>
</head><body>
<p id="aa">阿瓦的风</p>
</body>
</html>
所以需要用[0]将JQuery对象转换为DOM对象,然后才能使用innerHTML
否则需要像LS那样,用JQuery中的html()方法来取var x = $("#aa").html();
LZ所犯的错误正是未区分这两个对象
$('p').innerHTML
jquery对象不能使用DOM对象的方法
<head>
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
var x=$("#aa")[0].innerHTML;//转换为DOM对象后 使用DOM对象的innerHTML方法
var x = $("#aa").html();//原生态的JQ方法
alert(x);
}
)
</script>
</head><body>
<p id="aa">阿瓦的风</p>
</body>
</html>