Jquery 从JS脚本创建元素后添加css类

Jquery 从JS脚本创建元素后添加css类,jquery,Jquery,我有一个div <div id="form"/> 问题是,当我将这些脚本放到正在构建表单的代码中时,字段集还没有构建 我无法在JS代码中向字段集添加attach类,因为它正在构建表单 有没有办法等到表单构建完成后再添加和删除css 这不管用 $(function(){ var form = new Form("@Model.Name"); form.AdditionalConfigUrlParams += "isshow=uloha"

我有一个div

 <div id="form"/>
问题是,当我将这些脚本放到正在构建表单的代码中时,字段集还没有构建

我无法在JS代码中向字段集添加attach类,因为它正在构建表单

有没有办法等到表单构建完成后再添加和删除css

这不管用

  $(function(){
        var form = new Form("@Model.Name");
        form.AdditionalConfigUrlParams += "isshow=uloha"
        form.Create(@Html.Raw(Model.Data));

        $(":input","fieldset:eq(2)").addClass("readonly-form");
        $(":input","fieldset:eq(2)").removeClass("dhxlist_txt_textarea");

    });
我想你可以用

$(document).ready(function(){
    $(":input","fieldset:eq(2)").addClass("readonly-form");
    $(":input","fieldset:eq(2)").removeClass("txt_textarea");
});

您的jQuery选择器不正确。应该是:

$(":input, fieldset:eq(2)").addClass("readonly-form");// removed quotes between selectors
$(":input, fieldset:eq(2)").removeClass("txt_textarea");// same here

此外,这将只选择最后一个字段集。

如果表单创建者将其作为一个完整事件,则可以将其放入其中,否则您可能需要查看


您可以检查表单是否已创建

var formReady=form.create(@Html.Raw(Model.Data); // IDK what plugin you r using to create a form
if(formReady) {
 $(":input,fieldset:eq(2)").addClass("readonly-form").removeClass("dhxlist_txt_textarea");
}

或者尝试@mcgrailm方法

我们可以看到构建和您尝试过的内容吗?我认为问题出在您的选择器上,我建议查看其他答案。我的答案似乎不是100%正确,因为1.5有一个新函数,该函数何时能帮到我?我没有使用该函数的经验。您必须从我所读到的我不认为这会对你的修改起作用选择器停止了它们应该停止的工作。好吧,好吧,当它们根本不工作时,它们怎么可能停止工作呢?看这里,如果你对你想要的东西更清楚一点,你可能会得到一些更好的答案。我有一个名为firebuq的工具,其中有一个JS控制台,你听说过吗?:-)这些选择器不应该是多个选择器,而是一个上下文选择器。好啊你只是用了一种奇怪的方式。当传递上下文比作为常规选择器更容易时,可以使用上下文。在您的例子中,您可以使用$('fieldset:eq(2):input'),它更具可读性。干杯
$(":input, fieldset:eq(2)").addClass("readonly-form");// removed quotes between selectors
$(":input, fieldset:eq(2)").removeClass("txt_textarea");// same here
    $('form').livequery(function() {
        $(":input","fieldset:eq(2)").addClass("readonly-form");
         $(":input","fieldset:eq(2)").removeClass("txt_textarea");
   }
var formReady=form.create(@Html.Raw(Model.Data); // IDK what plugin you r using to create a form
if(formReady) {
 $(":input,fieldset:eq(2)").addClass("readonly-form").removeClass("dhxlist_txt_textarea");
}