【问题标题】:Apply jquery to a code inserted with javascript将 jquery 应用于使用 javascript 插入的代码
【发布时间】:2014-02-19 09:31:11
【问题描述】:

我有这行代码,它是在 localDB 准备好时通过 JS 插入的。

    //
    boxOne = document.getElementById("box1");
    content = '<button data-icon="delete">Delete</button>';
    boxOne.innerHTML = content;
    //

这段代码的问题是 mobilejquery 应该读取data-icon="delete" 并添加类以使图标出现,但它没有这样做。 我可以简单地自己手动添加类,但这也给我带来了麻烦,当我尝试将验证库应用于由 JS 插入的表单时,验证不起作用。 那么如何制作 jquery 和我使用的任何库读取这个插入的 JS 代码。

【问题讨论】:

  • boxone.innerHTML = 内容?
  • 你用的是哪个jqm版本?

标签: javascript jquery jquery-mobile innerhtml


【解决方案1】:

我认为您的意思是将content 放入boxOne。就目前而言,您尝试将 DOM 对象(本身)插入innerHTML

boxOne.innerHTML = content;

JSFiddle

或者,既然它对你可用,那就使用 jQuery:

$btn = $('<button/>',{text:'Delete','data-icon':'delete'});
$('#box1').html($btn);

JSFiddle

【讨论】:

    【解决方案2】:

    其他答案告诉你如何添加按钮,而不是如何让 jQuery Mobile 来增强它。

    如果您使用的是 jQM 1.4,请在容器上调用 enhanceWithin()

    var content = '<button data-icon="delete">Delete</button>';
    $("#box1").append(content).enhanceWithin();
    

    如果您使用的是 1.3,请在按钮对象上调用 button()

    var content = '<button data-icon="delete">Delete</button>';
    $("#box1").append(content);
    $("#box1 button").button();
    

    注意:在我的示例中,我使用append() 添加内容,如果您愿意,您仍然可以使用html()

    【讨论】:

    • 解决了非常感谢 $("#box1").html(content).enhanceWithin(); 这就是我在 for循环顺便说一句
    【解决方案3】:

    使用 jQuery,您可以使用 html()

    $('#box1').html('<button data-icon="delete">Delete</button>');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 2016-10-21
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多