Javascript 对jquery返回的对象使用标准js对象属性?
我刚刚进入jQuery,请原谅这个愚蠢的问题,但我遇到了以下问题:Javascript 对jquery返回的对象使用标准js对象属性?,javascript,jquery,Javascript,Jquery,我刚刚进入jQuery,请原谅这个愚蠢的问题,但我遇到了以下问题: $('#pb_inner').css('width',data + '%'); 这段代码运行良好。然而,我想知道为什么我不能做到以下几点 $('#pb_inner').style.width=data + '%'; 因为$('#pb_inner')返回的是jQuery对象,而不是原始的domeElement。如果从该jQuery对象检索实际的DomeElement,则可以使用这些属性,例如: $('#pb_inner').g
$('#pb_inner').css('width',data + '%');
这段代码运行良好。然而,我想知道为什么我不能做到以下几点
$('#pb_inner').style.width=data + '%';
因为$('#pb_inner')
返回的是jQuery对象,而不是原始的domeElement。如果从该jQuery对象检索实际的DomeElement,则可以使用这些属性,例如:
$('#pb_inner').get(0).style.width=data + '%';
因为$('#pb_inner')
返回类似jQuery对象的数组。一个集合,而不是单个对象(即使这样,它也将是另一个jQuery对象):
从:
(…),jQuery()
-也可以写成$()
-在DOM中搜索与提供的选择器匹配的任何元素,并创建引用这些元素的新jQuery对象
您必须使用:
.get()
方法允许我们访问每个jQuery对象下面的DOM节点
选择器$('#pb_inner')
返回与给定参数字符串匹配的jQuery包装对象数组
以下方法将起作用
$('#pb_inner').get(0).style.width=data+'%'
get(0)
将从jQuery数组返回第一个对象,作为本机DOM元素。顺便说一句,使用jQuery.css()方法有一个优点,因为您可以通过传递一个对象在其中写入多个css规则,如示例所示:
$('#pb_inner').css({
'width': data + '%',
'height': data + '%',
'color': '#eaeaea'
})
$('#pb_inner').css({
'width': data + '%',
'height': data + '%',
'color': '#eaeaea'
})