Javascript 获取css选择器上调用的插件中元素的ID
我有一个基本问题。我有一个示例jquery插件,我希望使用某个css选择器(.myDiv)在所有div上运行该插件:Javascript 获取css选择器上调用的插件中元素的ID,javascript,jquery,plugins,Javascript,Jquery,Plugins,我有一个基本问题。我有一个示例jquery插件,我希望使用某个css选择器(.myDiv)在所有div上运行该插件: (函数($){ $.fn.testt=函数(选项){ console.log(this.id); console.log($(this.attr('id')); }; }(jQuery)); $(“.myDiv”).testt({ “厚度”:3, “颜色”:“ccc” }); blablabla此是testt()插件方法中的jQuery对象,您可以随时使用各种jQuery方法
(函数($){
$.fn.testt=函数(选项){
console.log(this.id);
console.log($(this.attr('id'));
};
}(jQuery));
$(“.myDiv”).testt({
“厚度”:3,
“颜色”:“ccc”
});代码>
blablabla
此
是testt()插件方法中的jQuery对象,您可以随时使用各种jQuery方法
如果有多个元素,请在迭代器方法中使用.each()
和
(函数($){
$.fn.testt=函数(选项){
//这里指的是jQuery对象
这个。每个(函数(){
//这里,它指的是底层DOM元素,所以您可以使用各种方法
console.log(this.id);
})
};
}(jQuery));
$(“.myDiv”).testt({
“厚度”:3,
“颜色”:“ccc”
});代码>
喋喋不休
喋喋不休
blabla
使用以下代码:
这里是id演示:
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<div class="myDiv" id="myfirstDiv">blablabla</div>
<div class="myDiv" id="myfirstDiv1">blablabla</div>
<div class="myDiv" id="myfirstDiv2">blablabla</div>
</body>
</html>
(function ( $ ) {
$.fn.testt = function( options ) {
//Merge default and user parameters
options = $.extend( {minlength: 0, maxlength: 99999}, options);
//traverse all nodes
this.each(function() {
var $this = $(this);
alert($this.attr('id'));
//alert(options.thickness);
//alert(options.color);
});
};
}( jQuery ));
$(".myDiv").testt({
'thickness': 3,
'color': '#ccc'
});
$(this).attr('id')
可以工作,this
是testt()中的jQuery对象
不要将它与DOM元素混合使用。您也可以使用this.attr('id')
是的,第二个警报一切正常。我正在拿身份证,。。但是$(this.attr('id')
不起作用。。上面的代码为我提供了2倍的未定义代码。我已经为您创建了一个代码段,请参见第二个$(this).attr('id')
offtopic:always从插件返回此
。通常通过each
:ie返回此。each(function(){…
以允许链接。()