JQuery 检查 DIV 内容更改

标签 jquery html

我想检查一个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/

相关文章:

jquery - 调整图像大小以适应 div + 保持比例 + 水平和垂直居中 + 圆 Angular

javascript - 在javascript中使用变量的值作为变量

javascript - 试图模仿选择,但我失败了

javascript - 创建 window.AddEventListener 时 Div 不显示到 'none'

html - 重叠行和部分 html css bootstrap

html - 为什么 line-height 对 img 元素不起作用?

java - 我如何从 Java 中的 URL 获取页面标题信息?

html - CSS 右箭头

jquery - Kendo UI 在.net 中导出为 PDF 多页

javascript - slideToggle() 导致第一个 li a 在点击时跳转