jQuery .each()不起作用,还有其他方法吗?

时间:2018-10-02 09:33:11

标签: javascript jquery html

我想在jquery中对每个对象进行一次foreach。

我的函数jquery调用了另一个函数 showTauxPlafonds ,因此我希望每个函数都可以调用此函数以用ajax返回结果。

单击时,我想为每一个<a>调用一次我的功能jQuery

$("a").each(function() {
  $(this).on("click", function() {
    showTauxPlafonds(urlTaux, $(this).attr('tauxPlafonds'));
  })
});


var showTauxPlafonds = function(url, tauxPlafonds) {
  if (tauxPlafonds != null)
    getAjaxedHtmlView(url, {
      tauxPlafonds: tauxPlafonds
    }, null, 'app_taux_plafonds_values');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="mdc-list-item" tauxPlafonds="PSS" data-toggle="tooltip" data-placement="top" title="Acceuil" style="cursor:pointer;width:350px">
Plafond sécurité sociale
</a>
<a class="mdc-list-item" data-toggle="tooltip" data-placement="top" title="Taux et plafonds" style="cursor:pointer;width:350px">
Smic
</a>

2 个答案:

答案 0 :(得分:0)

我认为您的意思是,假设url是链接的可能href

不需要showTauxPlafonds函数,因为它只是测试将要设置的属性,除非您的代码中有tauxPlafonds=""。然后,您只需在选择器中对其进行测试:

var urlTaux = "someurl";
$("a[tauxPlafonds!='']").on("click", function() {
  getAjaxedHtmlView(urlTaux, { 
    tauxPlafonds: $(this).attr("tauxPlafonds")
  }, null, 'app_taux_plafonds_values')
});

我确实建议您执行data-tauxPlafonds="PSS",不要创建新类型的属性

有关测试属性的更多示例,请参见jQuery: Select data attributes that aren't empty?

答案 1 :(得分:0)

此方法也解决了我的问题:

$("a[tauxPlafonds]").on("click", function () {
showTauxPlafonds(urlTaux, $(this).attr('tauxPlafonds'));
});