未来元素的jQuery html()函数

时间:2015-04-30 14:17:01

标签: javascript jquery

我有一张表格。当用户在下拉列表中选择特定内容时,会加载包含一些其他字段的外部文档

$( "#morefields" ).load( "partials/formadditionals.jsp", function() {
    ...
});

这&#34; formadditionals.jsp&#34;包含标题<h1 id="form2title"></h1>。 在加载之后我想通过

<h1>中写一些内容
$('#form2title').html("Test");

...这不起作用,我假设因为元素之前不存在!?

如何在&#34; future&#34;上使用html()功能?将它们加载到DOM后的元素?

2 个答案:

答案 0 :(得分:10)

在回调函数中调用它。

ng-class="{'invalid-field': contactForm.nameField.$touched || contactForm.$submitted, 
'valid-field': contactForm.nameField.$valid && !contactForm.$submitted}" 

//And 

ng-class="{'invalid-field': contactForm.emailField.$touched || contactForm.$submitted,
 'valid-field': contactForm.emailField.$valid  && !contactForm.$submitted}"

无耻的插件:http://curtistimson.co.uk/jquery/using-jquery-callback-functions/

答案 1 :(得分:0)

你是对的,因为元素还没有在DOM中,调用$('#form2title').html("Test");并没有做任何事情。在load函数的回调函数中,您可以进行这些类型的调用,因为该元素现在存在于DOM中。

$("#morefields").load("partials/formadditionals.jsp", function() {
    $('#form2title').html("Test");
});