什么是YQuery等效的JQuery .load()?

时间:2012-08-08 10:47:00

标签: jquery yui external yahoo

我需要使用jQuery等效的jQuery .load()函数来加载外部HTML模板。 我现在使用的jQuery代码是 -

$('#templates').load('file1.html');

如何使用YUI实现相同的输出?

3 个答案:

答案 0 :(得分:7)

它需要一个特定的子模块node-load,但它的符号相同。

YUI().use('node', 'node-load', function (Y) {
  Y.one('#templates').load('file1.html');
});

jQuery和YUI中的所有方法都有一个很好的列表:http://www.jsrosettastone.com/

答案 1 :(得分:0)

不是$.load(...)的确切替代品,但可能会让您开始朝着正确的方向前进:

  

加载跨域HTML文件的唯一方法是使用跨域XMLHttpRequest或Flash。这两个都由YUI 3中的IO模块支持,但在YUI 2中不受支持   资料来源:http://yuilibrary.com/forum/viewtopic.php?p=25704&sid=33da592b2224850ea738e6947d8dc280#p25704

答案 2 :(得分:0)

最后设计了一个加载HTML的解决方案。我已经处理过IE和NON-IE浏览器的案例。就是这样 -

function fName() {

    if(navigator.appName == "Microsoft Internet Explorer") {        
    var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlHttp.open( "GET", "templates.html", true );

    xmlHttp.onreadystatechange = function() {
        if( xmlHttp.readyState == 4 && ( xmlHttp.status == 0 || xmlHttp.status == 200 ) )
        {                
            document.getElementById( "div_id_here" ).innerHTML = '"' + xmlHttp.responseText + '"';
        }
    };
    xmlHttp.send();
}

else {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET", "templates.html", true);
    xmlHttp.onreadystatechange = function()
    {
        if(xmlHttp.readyState == 4 && (xmlHttp.status == 0 || xmlHttp.status == 200))
        {
            document.getElementById("div_id_here").innerHTML = xmlHttp.responseText;
        }
    };
    xmlHttp.send();
  }
}