Jquery:无法选择追加元素



当我点击ul li内部的链接时,我试图显示警报,但不知怎么的,它不起作用。我的jquery无法选择我附加的链接。

我的HTML

<ul id="typeList"></ul>

我的JQUERY

 $("a.type").on("click", function(){                
            alert("click");
 });
$("<li><a href='#' class='type' type =" +results.rows.item(i).Type + " >"+ results.rows.item(i).Type +"</a></li>").appendTo('ul#typeList');

所需线路创建

<ul>
   <li><a class="type" href='#' type ='People'>People</a></li>
   <li><a class="type" href='#' type ='Places'>Places</a></li>
</ul>

修改on触发器以捕获ul:内的点击事件

 $("#typeList").on("click", "a.type", function(){                
            alert("click");
 });

这只将事件处理程序附加到一个元素(ul#typeList),但它只适用于ul中的a.type元素。

不能将事件处理程序附加到尚不存在的元素!

将事件委托给一个确实存在的元素,如@des给出的答案,或者在附加处理程序之前附加该元素:

$("<li><a href='#' class='type' type =" +results.rows.item(i).Type + " >"+ results.rows.item(i).Type +"</a></li>").appendTo('ul#typeList');
$("a.type").on("click", function(){                
    alert("click");
});
​

FIDDLE

尝试此操作以获得点击

$(function(){
   $(".type").click(function(){                
                alert("click");
     });
});

最新更新