【问题标题】:jQuery add class to a dynamically created elementjQuery将类添加到动态创建的元素
【发布时间】:2016-12-29 16:13:23
【问题描述】:

我在 JSON 解析函数中创建元素。我想为其中一些添加一个类,以防它们包含特定的字符串。我尝试在解析函数的末尾添加一个元素,稍后会检查它是否已加载,但由于解析是异步过程,因此在加载时间长的情况下它是无用的。如何查看解析是否完成?

$(document).ready(function(){
  $.getJSON(data, function(dat) {
    $.each(dat, function (k, da) {
      $('div').append('<p>'+ da.string +'</p>');
    });
    $('div').append('<p id="loaded">loaded</p>'); 
  });

  var loaded = setInterval(function() { 
    if ($('#loaded').length) { 
      $('p:contains("blahblah")').addClass('blah');
      clearInterval(checkExist); 
    } 
  }, 100);
});

【问题讨论】:

  • 创建元素的时候为什么不添加你的类?
  • 嗯,还有一个外部函数添加的内容,所以创建的时候还不知道
  • 您可以尝试使用$.ajax获取数据。它有 .done.always 。我在 Firefox 上对 jsfiddle 做了一些测试。 alwaysdone 完成执行后调用。我无法在任何地方找到此文档,因此您可能需要测试并确认或查看库。链接到小提琴 -> jsfiddle.net/zjoy60mn/1

标签: javascript jquery json parsing dynamic


【解决方案1】:

contains 中有一个拼写错误..请使用这个

$("p:contains(blahblah)").addClass('blah');

【讨论】:

    猜你喜欢
    • 2014-10-17
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 2022-01-02
    • 2011-10-03
    相关资源
    最近更新 更多