当我点击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");
});
});