gpt4 book ai didi

JQuery 检查 DIV 内容更改

转载 作者:行者123 更新时间:2023-11-28 00:10:01 24 4
gpt4 key购买 nike

我想检查一个DIV的内容,当div的内容发生变化时,我会发现是否存在表单域。我正在尝试使用此代码但它没有响应:

$.fn.exists = function(){return this.length>0;}
$("div.provider_name").live("change",function(){
if ($('input[id=checkout_provider_checkout_moneyorder]').exists)
{
alert('Input field exist');
}
});

输入字段是动态显示的,所以我想检查这个特定字段是否存在。

最佳答案

更改事件并非对所有元素都可用 - 因此即使 div 元素的内容发生更改也不会触发。

更改事件在表单元素上可用。

看起来您的需要是计算出特定表单元素何时可用,您可以使用间隔来检查:

var checkForInputTimer;
var checkForInput = function () {
if ($("#checkout_provider_checkout_moneyorder").length > 0) {
window.clearInterval(checkForInputTimer);
alert("Do your processing here");
}
};

checkForInputTimer = window.setInterval(checkForInput, 2000);

在这个例子中,我只是通过 id 检查元素,这是最有效的搜索,因为 id 必须是唯一的。

您也可以创建一个自定义事件,但您必须记住在用于更新 div 元素的任何代码中触发该事件。我创建了一个 JS Fiddle为此:

$('div.provider_name').bind('contentChanged', function(event, data) {
if ($('#checkout_provider_checkout_moneyorder').length > 0) {
alert('Do your processing here');
}
});

无论您在哪里更新 div,都会触发此事件:

$('div.provider_name').html('<input type="text" name="example" id="checkout_provider_checkout_moneyorder" value="example">')
.triggerHandler('contentChanged');

关于JQuery 检查 DIV 内容更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15919008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com