【问题标题】:Get checkbox attribute with jQuery使用 jQuery 获取复选框属性
【发布时间】:2012-11-18 13:52:49
【问题描述】:

例如我有几个复选框。

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

两个问题:

  1. cat属性的声明是否有效?
  2. 例如,当我单击按钮时,如何访问cat 属性值?

【问题讨论】:

  • 别被骗了,data-* 属性仅在您计划使用 HTML5 文档类型时才有效。话虽如此,你的例子真的很糟糕——values 和 ids 是一样的

标签: jquery html checkbox


【解决方案1】:

不,cat 不是有效属性,您可以使用 HTML5 data-* 属性和 jQuery data 方法:

<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 属性的所有值的数组。

【讨论】:

  • 感谢您的回答。我可以使用类选择器吗?例如 var cat = $('.filtered').attr('data-cat');获取所有检查值?
  • 我可以使用类选择器吗?例如 var cat = $('.filtered').attr('data-cat');获取所有检查值?
  • @Spider84 你可以使用类选择器,这很好,但是attr返回第一个被选中元素的属性值,你可以使用map方法,我会更新答案。跨度>
猜你喜欢
  • 2010-12-31
  • 2011-04-06
  • 2011-04-14
  • 2018-01-30
  • 2018-07-21
  • 1970-01-01
  • 1970-01-01
  • 2012-05-26
  • 2018-08-25
相关资源
最近更新 更多