附加不受 javascript 影响的 jQuery 值

Append jQuery values not affected by javascript

本文关键字:jQuery 影响 javascript      更新时间:2023-09-26

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

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

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

如果您当前正在使用

$(".textForm").click(){}

那么现在使用

$(document).on("click",".textForm",function(){//Dtuff here})

这会将.on("click")附加到document对象,因此将在所有存在的元素和与.textForm选择器匹配的所有元素上启用它。

我猜你有一些事件绑定到一些元素,比如在追加后不起作用。 像这样。

$(function(){
    $(".someClass").click(function(){
       //dome some thing
    });
});

如果您希望相同的功能在新注入的(通过追加/jquery ajax等动态添加...)上工作DOM 元素,你应该考虑使用 jquery on 。所以你的代码应该像这样改变

$(function(){
    $(document).on("click",".someClass",function(){
       //dome some thing
    });
});

on将适用于当前和未来的元素

我不确定我是否理解为什么要将值从放置属性复制到输入值中,但我可以提供此建议以显示您的表单字段。

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

我假设您想通过标签名称而不是类名来识别您的div。如果是这种情况,你的jQuery选择器将需要是"div",而不是".div"。此外,您需要将 HTML 包装在 $() 中才能生成 DOM 元素。