jQuery可以使用javascript的代码吗????????????

lbdzgr123 2011-08-12 04:51:18
根据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>
...全文
404 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆虫 2011-08-13
  • 打赏
  • 举报
回复
<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")[0].innerHTML;//转换为DOM对象后 使用DOM对象的innerHTML方法
var x = $("#aa").html();//原生态的JQ方法
alert(x);
}
)
</script>
</head>

<body>
<p id="aa">阿瓦的风</p>
</body>
</html>
豆虫 2011-08-13
  • 打赏
  • 举报
回复
这个问题也是Jquery中有一章刻意讲解Jquery对象和DOM对象之间的关系和转换方法
LZ所犯的错误正是未区分这两个对象
$('p').innerHTML
jquery对象不能使用DOM对象的方法
最后一个菜鸟 2011-08-13
  • 打赏
  • 举报
回复
jquery$()返回的是一个Dom数组,即使只有一个元素
ZXY900213 2011-08-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zlblog 的回复:]

jquery和js原生代码不能混用,要么是jquery,要么是原生的。

你混合起来了。

有问题请到我的博客留言,我会及时回复的。
[/Quote]

扯蛋...
  • 打赏
  • 举报
回复
其实说成是转换也不太恰当,它只是从$('p')这个JQuery对象中返回第一个DOM元素
  • 打赏
  • 举报
回复
var x=$('p')获取到的是一个JQuery对象,而innerHTML是JS中的原生DOM属性
所以需要用[0]将JQuery对象转换为DOM对象,然后才能使用innerHTML
否则需要像LS那样,用JQuery中的html()方法来取var x = $("#aa").html();
deng_yun_yong 2011-08-12
  • 打赏
  • 举报
回复
$('标签') ---->得到的是一个对象集合

$('.className') ---->取得class="className"的对象集合

$('#id') ---->得到某一个id=‘id’的对象
乌镇程序员 2011-08-12
  • 打赏
  • 举报
回复
var x = $("#aa").html();
ZXY900213 2011-08-12
  • 打赏
  • 举报
回复
jquery本来就是javascript,他只不过是封装了一下而已...
lbdzgr123 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 t5500 的回复:]

因为你没给input设置id属性值啊。

HTML code
<script type="text/javascript">
window.onload = function() {
var x = document.getElementById('p1').innerHTML;
alert(x);
}
</script>
<p id='p1'>阿瓦的风</p>
[/Quote]





设置了啊,看如下代码







<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>
乌镇程序员 2011-08-12
  • 打赏
  • 举报
回复
因为你没给input设置id属性值啊。

<script type="text/javascript">
window.onload = function() {
var x = document.getElementById('p1').innerHTML;
alert(x);
}
</script>
<p id='p1'>阿瓦的风</p>
zlblog 2011-08-12
  • 打赏
  • 举报
回复
jquery和js原生代码不能混用,要么是jquery,要么是原生的。

你混合起来了。

有问题请到我的博客留言,我会及时回复的。
lbdzgr123 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 t5500 的回复:]

引用 3 楼 lbdzgr123 的回复:

引用 2 楼 t5500 的回复:

JScript code
$(document).ready(function() {
var x = $('p:eq(0)').innerHTML;
alert(x);
});


JScript code
//原生JS写法
window.onload = function() {
……
[/Quote]



但实际上用ID不加[0]的话,还是会出现undefined
乌镇程序员 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lbdzgr123 的回复:]

引用 2 楼 t5500 的回复:

JScript code
$(document).ready(function() {
var x = $('p:eq(0)').innerHTML;
alert(x);
});


JScript code
//原生JS写法
window.onload = function() {
var x = document.getEleme……
[/Quote]

是的,用getElementById()取得的是个对象,唯一的,不需要也不应该加上索引访问。
Miss胡不归 2011-08-12
  • 打赏
  • 举报
回复
哦,错了,应该是var x = $('p:eq(0)').innerHTML;
Miss胡不归 2011-08-12
  • 打赏
  • 举报
回复
通楼上。。。
var x=$('p').innerHTML 中$('p')返回的是一个数组Array<Element(s)>,所以应该是
var x=$('p')[0].innerHTML
lbdzgr123 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 t5500 的回复:]

JScript code
$(document).ready(function() {
var x = $('p:eq(0)').innerHTML;
alert(x);
});


JScript code
//原生JS写法
window.onload = function() {
var x = document.getElementsByTagName('p……
[/Quote]



如果是用ID获取的话是不是就不用加[0]了?
乌镇程序员 2011-08-12
  • 打赏
  • 举报
回复
$(document).ready(function() {
var x = $('p:eq(0)').innerHTML;
alert(x);
});


//原生JS写法
window.onload = function() {
var x = document.getElementsByTagName('p')[0].innerHTML;
alert(x);
}

getElementsByTagName()返回的是个数组。
MuBeiBei 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 lbdzgr123 的回复:]
根据javascript中,可以这样getElementsByTagName("p").innerHTML获得P标签内的东西
所以我觉得在jQuery中也可以这样:$('p').innerHTML


如下代码,但是系统反回的却是一个undefined,问题出在哪?

<html>
<head>
<title>无标题文档</title>
<script type="text/ja……
[/Quote]

<script type="text/javascript">
$(document).ready(function()
{
var x=$('p')[0].innerHTML;
alert(x);
}
)
</script>

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧