我知道jquery只适用于DOM
上的元素,但我不知道如何解决我的问题,虽然我经常搜索。
这是我的代码:
<script>
var actions = {{json_encode($actions) }};
var options = "";
for(var key in actions){
if(key == ""){
options = ('<option value>'+actions[""]+"</option>") + options ;
}else{
options = options+ ('<option value="'+key+'">'+actions[key]+"</option>");
}
}
var select = '<select name="action_id[]">' + options + "</select>";
var label = '<label>Action</label>';
var span = '<span>{{$errors->first('action_id')}}</span>';
var a = '<a class="removeAction2" href="javascript:"></a>';
var li = '<li>' + label+ select + span+ a +'</li>';
</script>
当我点击如下链接时,我使用了该代码:
this$(".addAction2").on('click', function(){
console.log(li);
$(li).insertBefore(".lastLI");
});
a
有一个班级removeAction2
。
这是它的功能:
$(".addAction2").on('click', function(){
console.log(li);
$(li).insertBefore(".lastLI");
});
此功能位于document.ready
该功能不起作用。换句话说,当我点击a
时,没有任何反应。
虽然如果我在a
中添加了html
标签(非动态),则可以正常使用。
答案 0 :(得分:2)
$(document).on('click', ".addAction2", function(){
console.log(li);
$(li).insertBefore(".lastLI");
});
您需要委派活动。 http://learn.jquery.com/events/event-delegation/如上所述,我已委托给document
答案 1 :(得分:1)
试试这个 -
$(document).on("click", ".addAction2", function() {
//your code here
});