Javascript 当我运行jQuery命令时,元素不会';不存在

Javascript 当我运行jQuery命令时,元素不会';不存在,javascript,jquery,Javascript,Jquery,我想用jquery修改dom,但是当我运行命令时,dom元素不存在。是否可以等待其他脚本构建必要的html元素 我尝试了“live”功能,但没有帮助 jQuery(document).live('ready', function(){ var pressTitle; jQuery('.press-page .soliloquy-item').each(function(){ pressTitle = jQuery(this).children

我想用jquery修改dom,但是当我运行命令时,dom元素不存在。是否可以等待其他脚本构建必要的html元素

我尝试了“live”功能,但没有帮助

jQuery(document).live('ready', function(){

        var pressTitle;

        jQuery('.press-page .soliloquy-item').each(function(){

        pressTitle = jQuery(this).children().attr('title');

        console.log(pressTitle);

        });

    });

如何解决此问题?

您可以检查是否找到任何元素,如果找不到,请稍等片刻,然后重试:

function getTitle() {
  var pressTitle;
  var t = jQuery('.press-page .soliloquy-item');
  if (t.length) {
    t.each(function(){
      pressTitle = jQuery(this).children().attr('title');
      console.log(pressTitle);
    });
  } else {
    window.setTimeout(getTitle, 100);
  }
}

jQuery(document).ready(getTitle);

试着用$(document)启动你的函数。ready('ready',function(){……@vgSefa:你的意思是
$(document)。ready(function(){
),但我认为那是原始代码…无论如何,它已经过时了。“live”是不推荐使用的方法,应该使用“on”相反,jQuery而不是$是一种非常奇怪的编写代码的方式。此外,按title=jQuery(this).children().attr('title');将在HTML标记中返回属性“title”的值,因为“this”就是文档。你确定这是你正在寻找的行为吗?@VladislavQulin:context(
this
)是元素,而不是文档。Ref:(此外,全局上下文是窗口,而不是文档。)感谢Guffa,我也这么认为。但首先确保您的jQuery正在被访问和工作。执行一个简单的警报测试。