繁体   English   中英

如何在不使用click()的情况下使用Jquery修改动态生成的元素?

[英]How to modify dynamically generated elements with Jquery and without using click()?

这是动态创建的元素:

<th style="" data-field="realName">
  <div class="th-inner ">Name</div>
  <div class="fht-cell"></div>
</th>

我想添加以下属性:

$("th[data-field='realName']").attr("data-i18n", "realName");
$("th[data-field='realName']").i18n();

我尝试了这个:

$(document).on("trigger", "th[data-field='realName']", function (e) {
   $("th[data-field='realName']").attr("data-i18n", "realName");
   $("th[data-field='realName']").i18n();
})

但这行不通-未分配属性。

最好的方法是什么?

我总是使用querySelector / querySelectorAll而不是jquery。

var elements = document.querySelectorAll(th[data-field='realName']);
for(var i = 0; i < elements.length; i++)
{
    elements[i].setAttribute("data-i18n", "realName");
}

要么

var element = document.querySelector(th[data-field='realName']);
if(element)
    element.setAttribute("data-i18n", "realName");

我认为代码应该是这样的:

$("th").each(function(){
  if ($(this).data("field") == "realName"){
    $(this).attr("data-i18n","realName");
  }
});

$(element).attr("data-x")$(element).data("x")不同。

jQuery API:.data()

尝试这个:

 $("th[data-field='realName']").data("i18n", "realName");
   $("th[data-field='realName']").data("i18n");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM