Jquery 如何不断检查新的<;李>;a<;部门>;?

Jquery 如何不断检查新的<;李>;a<;部门>;?,jquery,list,html-lists,Jquery,List,Html Lists,我想不断检查新的li元素,以便无论何时出现这些新元素,我都会收到新的警报 JS: $(function () { if ($('#div').find('<li></li>')) { alert('you just got new <li> elements'); } // it is just an examplory function which // wil

我想不断检查新的li元素,以便无论何时出现这些新元素,我都会收到新的警报

JS:

$(function () {

    if ($('#div').find('<li></li>')) {
        alert('you just got new <li> elements');
    }

    // it is just an examplory function which                       
    // will keep looking for only  new <li> elements created by ol list

})(); 
$(函数(){
如果($('#div')。查找('
  • ')){ 警惕(“您刚刚获得了新的
  • 元素”); } //这只是一个示例函数 //将只继续查找由ol list创建的新
  • 元素 })();
  • Js小提琴在这里


    请帮助。

    像这样的函数应该对您有所帮助

    document.addEventListener("DOMNodeInserted", function(event){
      var element = event.target;
      if (element.tagName == 'li') {
         alert("li added");    
      }
    });
    
    检查

    HTML


    但这种跨浏览器兼容吗?变异事件在ie中几乎没有支持吗?@MaVRoSCy我测试了它,但它不起作用。我添加了jfiddlecheck@MarsOne非常感谢。我只想检测由(而不是onclick事件)创建的li。在这个新的小提琴中。在每个新的li上,都有3次警报。请查看@MarsOne请在“链接文本”后单击要通过ol自动创建新的li,这里是什么在创建新的
    li
    s?在创建
    li
    时发出警报,而不是让一个单独的函数监视它,这难道没有意义吗?对于IE8兼容版本@Moob,请尝试此方法。我想为ol列表中创建的新li设置li的自动增加id。如果我能得到新李的提醒,那么剩下的就很容易了。另外,请检查我的JSFIDLE,我在这里没有看到全部情况。您的提琴显示jquery正在添加的元素。我猜这同一块html将被添加多次,并且每一块都应该有自己的id。听起来每次注入新的html时设置id是最容易的。@user1452376,检查我的小提琴。它会在单击按钮时向DOM动态添加一个Li。它的工作原理与您的代码一样。您计划如何将li添加到dom中?在页面加载或任何类似按钮单击的事件上?
    <div id="container" style="background-color:#e0d0a0; width:300px; height:100px;"></div>   
    <button onclick="AddLiToContainer ();">Add a li node to the container!</button>
    
     function AddLiToContainer() {
         var newLi = document.createElement("li");
         var textNode = document.createTextNode("Hello World");
         newLi.appendChild(textNode);
         if (newLi.addEventListener) {
             newLi.addEventListener('DOMNodeInserted', OnNodeInserted, false);
         }
    
         var container = document.getElementById("container");
         container.appendChild(newLi);
     }
    
     function OnNodeInserted(event) {
         var Li = event.target;
         alert("The text node '" + Li.innerHTML + "' has been added to an element.");
     }