0
<script type="text/javascript">
 $(document).ready(function () {

 });

</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>​

<div id="input">すべてのクラス要素をin配列の下に格納したいと思います。それを行う正しい方法は何ですか?

JSフィドル: http: //jsfiddle.net/gMjxu/

4

5 に答える 5

4
var classnames = $("#input div").map(function() { return this.className }).get();

要素に複数のクラスがある場合は、追加の作業を行う必要があります。

于 2012-08-30T04:38:28.790 に答える
0
  $(document).ready(function () {
        $.each($("#input div"), function() {
           alert($(this).prop('class'));
        });

 });    

このフィドル

http://jsfiddle.net/dappledore/gMjxu/17/

于 2012-08-30T04:31:03.057 に答える
0

ここでは、完全なデモ ビンとリンクを以下に示します。

デモ http://codebins.com/bin/4ldqp7w

HTML

<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" />

jQuery

$(function() {
    var c = [];
    $("#input div").each(function() {
        var cls = $(this).attr('class').split(' ');
        for (var j = 0; j < cls.length; j++) {
            if (cls[j] != '') {
                c.push(cls[j]);
            }
        }
    });

    $("#btn1").click(function() {
        if (c.length <= 0) {
            alert("No Class Exists...!");
        } else {
            for (var i = 0; i < c.length; i++) {
                alert(c[i]);
            }
        }
    });

});

デモ http://codebins.com/bin/4ldqp7w

于 2012-08-30T10:40:14.963 に答える
0
var classNames = []  

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

これがあなたが探しているものであることを願っています。

于 2012-08-30T04:44:32.103 に答える
0
(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>​

トリックを行う必要があります。 http://jsfiddle.net/FRhKS/

選択したすべての要素に対して一意のクラスの配列が作成されます。

于 2012-08-30T04:42:19.267 に答える