我想把加载html的if条件有什么方法可以做到这一点?

时间:2013-07-08 08:03:37

标签: javascript jquery

<script>
$(document).ready(function(){
   $('one').click(function(){
      if( loaded('new.html') ) {
        alert('yes');
      });
   });
});
</script>

有没有明确的方法让它发挥作用?

2 个答案:

答案 0 :(得分:2)

你有一些普遍的误解。我将从代码中的语法/语义错误开始:

$('one')可能应为#one.one,具体取决于您的元素是否具有ID或类。 if条件只需要关闭},您意外添加了)。如果您在浏览器中按 F12 (或 ctrl + shift + i ),您将看到一个控制台告诉你,代码中是否有错误。

然后不清楚你想做什么。

通常,当您想要检查时,如果您的html已准备就绪,那么使用ready方法(就像您已经做过的那样)就足够了。您无需进行任何其他检查。

$(document).ready(function(){
    /* inside here, you can be sure your html is ready*/
});

现在它取决于您的代码loaded('new.html')正在做什么。但是,如果您通过ajax加载new.html,则应使用成功回调来处理结果。有关详细信息,请参阅jQuery get()

通常,在加载new.html之后要执行的所有代码都应放入回调中。

var jqxhr = $.get("new.html", function() {
    alert("YES! Your html has successfully loaded");
    /* Put your code here*/
})

答案 1 :(得分:0)

尝试使用$ .get()函数加载页面。 http://api.jquery.com/jQuery.get/

看看你想要的,试试这个:

var isLoaded=false;

$(document).ready(function() {
   $.get('one.html', function(data) {
     isLoaded=true;
   });

   $('one').click(function(){
      if(isLoaded) {
        alert('yes');
      });
   });
});