附加不受javascript影响的jQuery值

时间:2012-07-07 14:31:53

标签: javascript jquery html css

我通过jQuery将值附加到div中,但我已经意识到附加的内容不受我的javascript函数的影响。

$(".div").append("<input type='text' class='textForm' placement='Value' />");

我在javascript代码中设置的是它将任何类“textForm”的属性放置并使其成为值。但我已经意识到,一旦附加了一个值,它就不会受到我的javascript的影响。关于如何解决这个问题的任何想法?

3 个答案:

答案 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元素。