Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取css选择器上调用的插件中元素的ID_Javascript_Jquery_Plugins - Fatal编程技术网

Javascript 获取css选择器上调用的插件中元素的ID

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方法

我有一个基本问题。我有一个示例jquery插件,我希望使用某个css选择器(.myDiv)在所有div上运行该插件:

(函数($){
$.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(){…
以允许链接。()