使用jQuery覆盖div的内容

时间:2017-03-27 作者:Sergi

我需要使用jQuery更改联系人表单中的文本内容,我知道自定义。我使用的js文件连接起来就像我在控制台上一样。日志我可以看到我写的东西。

当我选择我需要的段落并更改其html内容时,什么都没有发生,内容是否可能被以后的内容覆盖?有没有办法确定代码的优先级?

jQuery("p.help-block.small").html("<p> ... </p>");

3 个回复
最合适的回答,由SO网友:Tessa 整理而成

在某些情况下,我将在setTimeout中运行延迟初始化函数,如下所示:

var delay = setTimeout(function() {
    jQuery("p.help-block.small").html("<p> ... </p>");
}, 100);
如果页面加载时有内容覆盖了该段落块的html,此函数将在100毫秒后运行,使您的段落成为最后一次更改。100毫秒相当快,因此在页面上加载其他元素时,用户可能会注意到也可能不会注意到更改。

我通常对通过CSS隐藏的元素使用这种加载方式,然后在“加载”后淡入,如果有很多元素的形状或大小会发生变化,例如从三个单词变为三个段落会使页面跳跃,因此我可能会很好地淡入。

还有,既然你打电话来.html() 在段落元素上,您不需要在其中包含段落标记,因为您要设置的html已经由段落标记包装。如果您只是更改文本,您可以使用.text() 相反但是,如果在段落中包含换行符或跨度元素,则.html() 将是适当的。

SO网友:Fabrizio Mele

你有没有试着把它包进jQuery() 作用

jQuery(function(){
  jQuery("p.help-block.small").html("<p> ... </p>");
})
这将导致代码在加载页面时运行一个脚本,因此每个脚本都已被解析&;跑

SO网友:Self Designs

您可以尝试调用页面底部的“custom.js”文件。这意味着HTML和CSS应该先加载,然后会被脚本覆盖。你也可以做一个窗口。alert()测试JQuery中的代码是否正确运行。