Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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 在a<;下收集类名;部门>;java脚本数组中的标记 $(文档).ready(函数(){ }); 拖动1 调整大小 下载 拖动2 跟踪 颜色 ​_Javascript_Jquery - Fatal编程技术网

Javascript 在a<;下收集类名;部门>;java脚本数组中的标记 $(文档).ready(函数(){ }); 拖动1 调整大小 下载 拖动2 跟踪 颜色 ​

Javascript 在a<;下收集类名;部门>;java脚本数组中的标记 $(文档).ready(函数(){ }); 拖动1 调整大小 下载 拖动2 跟踪 颜色 ​,javascript,jquery,Javascript,Jquery,我想在数组中存储下的所有类元素。正确的方法是什么 JS小提琴: 这把小提琴 这把小提琴 如果一个元素上有多个类,您将不得不做一些额外的工作 var classnames = $("#input div").map(function() { return this.className }).get(); 如果一个元素上有多个类,您将不得不做一些额外的工作 (函数($){ var classnames = $("#input div").map(function() { return this

我想在数组中存储
下的所有类元素。正确的方法是什么

JS小提琴:

这把小提琴

这把小提琴

如果一个元素上有多个类,您将不得不做一些额外的工作

var classnames = $("#input div").map(function() { return this.className }).get();
如果一个元素上有多个类,您将不得不做一些额外的工作

(函数($){
var classnames = $("#input div").map(function() { return this.className }).get();
$.fn.classes=函数(f){ var c=[]; $。每个(此,函数(i,v){ var=v.className.split(/\s+/); 对于(var j in uj)'===j]| | c.push(j]); }); c=$.unique(c); (c中的var j)f(c[j])的if(“函数”==typeof f); 返回c; }; })(jQuery); $(文档).ready(函数(){ 警报($('#输入div').classes()); });​ $(文档).ready(函数(){ 警报($('#输入div').classes()); }); 拖动1 调整大小 下载 拖动2 跟踪 颜色 ​
我们应该做到这一点

您将得到所有选定元素的唯一类数组。

(函数($){
(function($) {
    $.fn.classes = function(f) {
        var c = [];
        $.each(this, function(i, v) {
            var _ = v.className.split(/\s+/);
            for (var j in _)'' === _[j] || c.push(_[j]);
        });
        c = $.unique(c);
        if ("function" === typeof f) for (var j in c) f(c[j]);
        return c;
    };
})(jQuery);

$(document).ready(function() {
    alert($('#input div').classes());
});​

$(document).ready(function () {
alert($('#input div').classes());
    });
</script>


<div id="input">
        <div class="feature draggable">Drag 1</div>
        <div class="feature resizable">Resize</div>
        <div class="feature downloadable">Download</div>
        <div class="feature draggable">Drag 2</div>
        <div class="feature trackable">Track</div>
        <div class="feature colorable">Color</div>
    </div>​
$.fn.classes=函数(f){ var c=[]; $。每个(此,函数(i,v){ var=v.className.split(/\s+/); 对于(var j in uj)'===j]| | c.push(j]); }); c=$.unique(c); (c中的var j)f(c[j])的if(“函数”==typeof f); 返回c; }; })(jQuery); $(文档).ready(函数(){ 警报($('#输入div').classes()); });​ $(文档).ready(函数(){ 警报($('#输入div').classes()); }); 拖动1 调整大小 下载 拖动2 跟踪 颜色 ​
我们应该做到这一点

最终,所有选定元素都会有一个唯一类数组

(function($) {
    $.fn.classes = function(f) {
        var c = [];
        $.each(this, function(i, v) {
            var _ = v.className.split(/\s+/);
            for (var j in _)'' === _[j] || c.push(_[j]);
        });
        c = $.unique(c);
        if ("function" === typeof f) for (var j in c) f(c[j]);
        return c;
    };
})(jQuery);

$(document).ready(function() {
    alert($('#input div').classes());
});​

$(document).ready(function () {
alert($('#input div').classes());
    });
</script>


<div id="input">
        <div class="feature draggable">Drag 1</div>
        <div class="feature resizable">Resize</div>
        <div class="feature downloadable">Download</div>
        <div class="feature draggable">Drag 2</div>
        <div class="feature trackable">Track</div>
        <div class="feature colorable">Color</div>
    </div>​
希望这就是你要找的


希望这就是你要找的

这里我有完整的演示箱和链接,如下所示:

演示

HTML

var classNames = []  

$('#input div').each(function(){
     classNames.push($(this).attr('class')) });

拖动1
调整大小
下载
拖动2
跟踪
颜色
jQuery

<div id="input">
  <div class="feature draggable">
    Drag 1
  </div>
  <div class="feature resizable">
    Resize
  </div>
  <div class="feature downloadable">
    Download
  </div>
  <div class="feature draggable">
    Drag 2
  </div>
  <div class="feature trackable">
    Track
  </div>
  <div class="feature colorable">
    Color
  </div>
</div>
<input type="button" value="Show Classes" id="btn1" />
$(函数(){
var c=[];
$(“#输入div”)。每个(函数(){
var cls=$(this.attr('class').split('');
对于(var j=0;j如果(c.length这里我有完整的演示箱和链接,如下所示:

演示

HTML

var classNames = []  

$('#input div').each(function(){
     classNames.push($(this).attr('class')) });

拖动1
调整大小
下载
拖动2
跟踪
颜色
jQuery

<div id="input">
  <div class="feature draggable">
    Drag 1
  </div>
  <div class="feature resizable">
    Resize
  </div>
  <div class="feature downloadable">
    Download
  </div>
  <div class="feature draggable">
    Drag 2
  </div>
  <div class="feature trackable">
    Track
  </div>
  <div class="feature colorable">
    Color
  </div>
</div>
<input type="button" value="Show Classes" id="btn1" />
$(函数(){
var c=[];
$(“#输入div”)。每个(函数(){
var cls=$(this.attr('class').split('');
对于(var j=0;j如果(c.length在这里查看答案:在这里查看答案:这将为我提供标记下的所有内容,我试图找到一种方法,如果我只能在标记下检索类名,这将为我提供标记下的所有内容,我试图找到一种方法,如果我只能在标记下检索类名,谢谢这有助于我理解,我不知道但请注意,您可能希望在末尾抛出一个
.get()
,以返回实际数组而不是jQuery对象。对于元素答案上的多个类,请参阅我的解决方案。@nnnn很好。我已按照建议调整了解决方案:-)感谢这帮助我理解,我不知道.map+1。但请注意,您可能希望在末尾抛出一个
.get()
,以返回实际数组而不是jQuery对象。有关元素答案上的多个类,请参阅我的解决方案。@nnnnnn很好。我已按照建议调整了我的解决方案:-)小提琴的脚本与到中的脚本相同。此外,对于(…in…)不应使用
forarrays@Andreas,我看它没有问题,尽管我承认发布了错误的链接。
for..in
on Array objects是一个糟糕的计划,除非你100%确定你的代码永远不会与其他人的代码一起使用(包括第三方库)。即使您从未向数组中添加非数字属性,其他人也可能会破坏您的代码。(特别是如果您使用的库向
数组中添加了方法。prototype
)小提琴的脚本与to中的脚本相同。此外,您不应将
用于(…in…)
用于arrays@Andreas,我看它没有问题,尽管我承认发布了错误的链接。
for..inon Array objects是一个糟糕的计划,除非您100%确定您的代码永远不会与其他人的代码(包括第三方库)一起使用。即使您从未向数组中添加非数字属性,其他人也可能会这样做,这可能会破坏您的代码。(特别是如果您使用的库向
数组.prototype添加了方法。)