MrS*_*ana 4 html javascript jquery dom object
假设我有一个<div class="test" style="width:200px"></div>,请考虑以下事项:
var m = $('.test')[0];
var $md = $(m);
console.log($md.width()); //200
var o = $('.test');
console.log(o.width()); // 200
console.log(m); // <div class="test" style="width:200px">
console.log($md); // Object{ context: <div.test> ..... }
console.log(o); // Object{ length:1 , ..... }
Run Code Online (Sandbox Code Playgroud)
基本上我可以在或上应用该width方法,那么如果输出相同,第一种方法和第二种方法有什么区别?我看到 和都是对象,但在控制台输出中它们并不完全相同,它们有何不同?谢谢。var $mdvar omdo
这里你得到第一个元素匹配的选择器,它返回纯js实例。
var m = $('.test')[0];
Run Code Online (Sandbox Code Playgroud)
在这里,您再次将其包装在 jQuery 对象中。
var $md = $(m);
Run Code Online (Sandbox Code Playgroud)
由于width()方法返回集合中第一个元素的宽度,因此方法之间没有区别,直到页面上有多个.test元素并且想要像这样更改它们:
$('.test').width(100)
Run Code Online (Sandbox Code Playgroud)
.test此代码将页面上每个元素的宽度设置为 100px。
但这只会继续更改集合中第一个匹配的元素:
var el = $('.test')[0];
$(el).width(100);
Run Code Online (Sandbox Code Playgroud)
有基于您的代码的综合示例,我认为最好这样写:
$('.test').first().width(100);
Run Code Online (Sandbox Code Playgroud)
或者
$('.this:first').width(100);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |