我通过jQuery将值附加到div中,但我已经意识到附加的内容不受我的javascript函数的影响。
$(".div").append("<input type='text' class='textForm' placement='Value' />");
我在javascript代码中设置的是它将任何类“textForm”的属性放置并使其成为值。但我已经意识到,一旦附加了一个值,它就不会受到我的javascript的影响。关于如何解决这个问题的任何想法?
答案 0 :(得分:4)
如果您目前正在使用
$(".textForm").click(){}
然后现在使用
$(document).on("click",".textForm",function(){//Dtuff here})
这会将.on("click")
附加到document
对象,因此它将在所有存在的元素和与.textForm
选择器匹配的所有元素上启用。
答案 1 :(得分:3)
我猜你有一些事件受限于某些元素,比如在追加后不起作用。像这样的东西。
$(function(){
$(".someClass").click(function(){
//dome some thing
});
});
如果你想要相同的功能来处理新注入的(动态添加的via append / jquery ajax等...)DOM元素,你应该考虑使用jquery on
。所以你的代码应该像这样改变
$(function(){
$(document).on("click",".someClass",function(){
//dome some thing
});
});
on
适用于当前和未来的元素
答案 2 :(得分:0)
我不确定我是否理解为什么要将放置属性中的值复制到输入值中,但我可以提供此建议以使您的表单字段显示。
$("div").each(function() {
$(this).append($("<input type='text' class='textForm' placement='Value' />"))
});
我假设你想通过标签名称识别你的div,而不是类名。如果是这种情况,您的jQuery选择器将需要是“div”,而不是“.div”。此外,您需要将您的HTML包装在$()中以生成DOM元素。