HTML code:
<input type="file" name="efile" id="efile" data-cat="electronics" style="width:100%" class="alertme">
<input type="file" name="dfile" id="dfile" data-cat="Decoratives" style="width:100%" class="alertme">
<input type="file" name="kfile" id="kfile" data-cat="kitchen" style="width:100%" class="">
<input type="file" name="hdfile" id="hdfile" data-cat="Home" style="width:100%" class="">
<input type="file" name="ffile" id="ffile" style="width:100%" data-cat="Furnitures" class="alertme">
如何在class alertme存在的情况下获取data-cat属性值?并感谢您阅读我的问题。我的英语很弱,所以如果我犯了任何语法或拼写错误,请向我道歉。
答案 0 :(得分:2)
这是实现此目的的代码:
$(".alertme").each(function(){
// Here you can fill your array or whatever you want..
$(this).attr("data-cat");
});
答案 1 :(得分:0)
你可以这样尝试
$(document).ready(function(){
$(".alertme").each(function(){
var val = $(this).data('cat');
alert(val);
});
})
<input type="file" name="efile" id="efile" data-cat="electronics" style="width:100%" class="alertme">
<input type="file" name="dfile" id="dfile" data-cat="Decoratives" style="width:100%" class="alertme">
<input type="file" name="kfile" id="kfile" data-cat="kitchen" style="width:100%" class="">
<input type="file" name="hdfile" id="hdfile" data-cat="Home" style="width:100%" class="">
<input type="file" name="ffile" id="ffile" style="width:100%" data-cat="Furnitures" class="alertme">
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
答案 2 :(得分:0)
使用attr()获取数据属性,循环确实将值推送到数据数组
var data = [];
$(".alertme").change(function() {
$(".alertme").each(function() {
data.push($(this).attr("data-cat"));
});
console.log(data);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" name="efile" id="efile" data-cat="electronics" style="width:100%" class="alertme">
<input type="file" name="dfile" id="dfile" data-cat="Decoratives" style="width:100%" class="alertme">
<input type="file" name="kfile" id="kfile" data-cat="kitchen" style="width:100%" class="">
<input type="file" name="hdfile" id="hdfile" data-cat="Home" style="width:100%" class="">
<input type="file" name="ffile" id="ffile" style="width:100%" data-cat="Furnitures" class="alertme">
答案 3 :(得分:0)
首先,您必须获得该类的所有元素:
var aAlertMe = window.document.getElementsByClassName("alertme");
其次,对于数组中的每个元素,将其数据插入另一个数组:
var aDataValues = [];
for(var i = 0; i < aAlertMe.length; i++){
aDataValues.push(aAlertMe[i].dataset.cat);
}
并且您将拥有aDataValues中的所有值。
答案 4 :(得分:0)
试试这个:
$("input[type='file']").each(function () {
if($(this).hasClass("alertme"))
alert($(this).data("cat"));
});