我有一个div我正在运行for循环。这是根据字段中的行数创建以下div。
<div class="parent">
<p style=" font-family: Times New Roman;color:#a0a0a0; ">
Content 1 goes here.........
</p>
<div class="child">
<span> <a class="likebtn">Like</a> </span>1 people like this
</div>
<hr/>
</div>
上面显示的div是for-each循环,即创建多个这样的div,内容不同。
现在我正在尝试调用我的jquery函数,如果用户点击任何类似按钮驻留在div中。 我尝试了以下功能,但我的功能没有接到电话。请帮助我,为什么这个问题。
<script type="text/javascript">
$('.parent .child .likebtn').click(function(e)
{
alert("function called");
});
</script>
有一件事,div是动态创建的,如果我在我的for-each循环之后编写上面的javascript代码,那么我的函数就会被调用。在Controller中编写javascript函数并不是一个好习惯。我正在使用COdeigniter框架。 Plase帮助我,我必须在头部或身体中指定此功能
答案 0 :(得分:5)
如果div是动态创建的,请将其称为
$(document).on('click', '.parent .child .likebtn', function(e)
{
alert("function called");
});
答案 1 :(得分:1)
将您的功能包装在机箱中,以确保在DOM完全加载后执行它:
$(function() {
$('.parent .child .likebtn').click(function(e) {
alert("function called");
});
});
编辑: 您是从AJAX加载此内容吗?在这种情况下,您需要使用.on()函数来确保新的dom元素获取事件,语法如下:$(document).on(events,selector,data,handler); - &GT; api.jquery.com/on
编辑2:与tymeJV相同的答案