Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 循环遍历数组并返回数据属性值_Javascript_Jquery_Arrays_Loops - Fatal编程技术网

Javascript 循环遍历数组并返回数据属性值

Javascript 循环遍历数组并返回数据属性值,javascript,jquery,arrays,loops,Javascript,Jquery,Arrays,Loops,我不熟悉编程和堆栈溢出,所以如果我没有正确格式化我的问题,请原谅:) 我试图循环遍历包含三个跨度的数组,并记录“数据强度”属性值。我可以使用$el[I]获取各个跨度,也可以使用$el.attr('data-strength')获取属性值。但是,当我将这两个参数组合在一起时,$el[I].attr('data-strength'),将返回一个错误。我认为这是一个语法错误,但我希望得到一些指导 我还包括了下面的钢笔链接。谢谢 <div id="container"> <butt

我不熟悉编程和堆栈溢出,所以如果我没有正确格式化我的问题,请原谅:)

我试图循环遍历包含三个跨度的数组,并记录“数据强度”属性值。我可以使用
$el[I]
获取各个跨度,也可以使用
$el.attr('data-strength')
获取属性值。但是,当我将这两个参数组合在一起时,
$el[I].attr('data-strength')
,将返回一个错误。我认为这是一个语法错误,但我希望得到一些指导

我还包括了下面的钢笔链接。谢谢

<div id="container">
  <button id="trigger">Click Me</button>

  <div id="strength">
    <span data-strength="60"></span>
    <span data-strength="50"></span>
    <span data-strength="40"></span>
  </div>
</div>

var $trigger = $("#trigger"),
    $el = $("#strength span"),
    $counter = $el.length;

$trigger.click(function(){
    for(var i = 0; i < $counter; i++){   
        var $result = $el[i].attr('data-strength');
    console.log($result);
    }  
});

点击我
var$trigger=$(“#trigger”),
$el=$(“#强度跨度”),
$counter=$el.length;
$trigger.click(函数(){
对于(var i=0;i<$counter;i++){
var$result=$el[i].attr(“数据强度”);
console.log($result);
}  
});

$el[i]
不是jQuery对象。您必须
$($el[i])
才能使用
attr

var$trigger=$(“#trigger”),
$el=$(“#强度跨度”),
$counter=$el.length;
$trigger.click(函数(){
对于(变量i=0;i<$counter;i++){
var$result=$($el[i]).attr(‘数据强度’);
console.log($result);
}
});

点击我

只需迭代div中的跨度,并使用$(this)。()获取每个跨度的数据属性

$(“#触发器”)。单击(函数(){
$(“#强度跨度”)。每个(函数(){
var-strength=$(this.attr('data-strength');
控制台。日志(强度);
})  
});

点击我

然后是
$().data
,它自动解析JSON并允许您使用元素存储任意数据(尽管它不会反向编辑属性),您还可以使用它在该索引处获取元素的jquery对象。你所有的建议都很好而且正确:)