JS 在生成的 ajax div 中添加文本

JS add text in generated ajax div

寻求帮助,如何将自定义文本值添加到 Ajax 生成的输入文本字段。但是无法通过代码的 id 或 class、none 获取元素。 试过代码,其中一个检查 regul price 是否不为空,然后它应该向字段添加文本,但它不起作用。

<script type="text/javascript">
        if($("#_regular_price").length > 0) { 
            $("#snippet-editor-field-description").text('labas')
        };
</script>

也尝试了此代码以检查是否可以使用警报,但它没有。

<script type="text/javascript">

    $('#snippet-editor-field-description').click( function() { 
        alert('clicked'); 
    });

</script>

任何人都可以帮助如何获取元素并在标记为黄色的摘录之前添加自定义文本?

我能看到的最大问题是当 DOM 初始化时,您的 jQuery 代码是 运行,但是如果您正在查找的元素 (#snippet-editor-field-description ) 因为它不在初始页面加载中,它永远不会找到它,因为 jQuery 只解析 DOM 一次。

要处理此 jQuery 使用 .on() 方法,该方法将动态查找添加到 DOM 且匹配该选择器的任何新元素...

<script type="text/javascript">

    $(document).on('click','#snippet-editor-field-description', function() { 
        alert('clicked'); 
    });

</script>


至于当这个元素被添加到 DOM 时做一些事情,不幸的是 jQuery 弃用了该功能(jquery 检测 div某些 class 已添加到 DOM ) 因此您可以手动实施,如链接的 SO 问题中所示,或者...

  1. 轮询是否存在元素

setInterval(function (){
        var elem = $("#snippet-editor-field-description");
        if (elem) elem.append('labas');
},1000)

  1. 使用插件(在这种情况下推荐)

jQuery Initialize

$("#snippet-editor-field-description").initialize(function (){
   $(this).append('labas');
});