2

たとえば、いくつかのチェックボックスがあります。

<input type="checkbox" value="27" name="option_value[12][]" id="option_value_27"  class="filtered option_value" cat="121">
<input type="checkbox" value="27" name="option_value[12][]" id="option_value_27"  class="filtered option_value" cat="141">

2 つの質問:

  1. cat属性の宣言は有効ですか?
  2. catボタンをクリックしたときなどに属性値にアクセスするにはどうすればよいですか?
4

1 に答える 1

9

いいえ、cat有効な属性ではありません。HTML5data-*属性と jQuerydataメソッドを使用できます。

<input type="checkbox" value="27" name="option_value[12][]" id="option_value_27"  class="filtered option_value" data-cat="121">

$('#button').click(function(){
    var cat = $('#option_value_27').data('cat');
})

またはattr方法:

var cat = $('#option_value_27').attr('data-cat');

または、jQuery を使用していない場合は、datasetプロパティを使用することもできます。

var cat = document.getElementById('option_value_27').dataset.cat;

また、ID は一意でなければならないことに注意してください。catすべての属性の値を取得したい場合は、次のmapメソッドを使用できます。

var cats = $('.filtered').map(function(){
    return this.dataset.cat
    // or $(this).attr('data-cat')
}).get()
// console.log(cats)

現在は、属性catsのすべての値の配列です。data-cat

于 2012-11-18T13:55:36.457 に答える