寻求一些帮助,了解如何将自定义文本值添加到 Ajax 生成的输入文本字段。但无法通过 id 或 class 获取元素,所有代码都不起作用。 尝试过检查常规价格是否为空的代码,然后应该将文本添加到字段中,但它不起作用。
<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>
任何人都可以帮助如何获取元素并在摘录标记为黄色的位置之前添加自定义文本?
最佳答案
我看到的最大问题是,您的 jQuery 代码在 DOM 初始化时运行,但如果您正在查找的元素 (#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 detecting div of certain class has been added to DOM ),因此您可以手动实现,如链接的 SO 问题所示,或者...
- 轮询元素是否存在
setInterval(function (){
var elem = $("#snippet-editor-field-description");
if (elem) elem.append('labas');
},1000)
- 使用插件(在本例中推荐)
$("#snippet-editor-field-description").initialize(function (){
$(this).append('labas');
});
关于javascript - JS在生成的ajax div中添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54737550/