【问题标题】:How replace text of an element which is loaded with ajax?如何替换用ajax加载的元素的文本?
【发布时间】:2013-06-28 15:07:23
【问题描述】:

我需要替换(使用 jquery)未在 document.ready 上加载的元素的文本。元素加载了ajax。

我试过了:

    $('#my-div label').live({
        var text = $(this).text();
        $(this).text(text.replace('text', 'my text')); 

    });

html 类似于

<div id="my-div"><label>text</label></div>

【问题讨论】:

  • 您必须在您的 success ajax 处理程序上执行此操作。请将其粘贴在您的问题上
  • 由于它是通过 AJAX 加载的,因此在您的 AJAX 回调函数中,您拥有该元素。你不能在那一刻改变元素吗?
  • 我无法修改 AJAX 功能。是一个drupal模块,每次更新模块都会丢失我的更改...
  • 用户$(document).ajaxComplete

标签: jquery str-replace


【解决方案1】:

试试这个...

$(document).ajaxComplete(function() {
    var $label = $("#my-div label");
    var text = $label.text();
    $label.text(text.replace("text", "my text")); 
});

每次 ajax 调用完成时都会触发该函数。这是该页面上的任何 ajax 调用。

【讨论】:

  • 没问题 - 很高兴为您提供帮助 :)
【解决方案2】:

您不需要使用 live。您没有在这里绑定任何事件。在你的ajax的成功函数中,放

    var label = $('#my-div label');
    label.text(label.text().replace('text', 'my text')); 

【讨论】:

    【解决方案3】:
    $(document).ajaxComplete(function() {
      $('#my-div label').text('my text');
    });
    

    尝试使用 ajaxCompleteajaxSuccess

    【讨论】:

      猜你喜欢
      • 2011-07-22
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      • 2011-10-11
      相关资源
      最近更新 更多