0

我是 YUI3 的新手,正在尝试一些类似于 jquery 的东西,我是一个 jQuery 人,不知道
如何在 YUI 中实现相同的效果,我在 jQuery 中正在做下面的事情,

<script language="javascript" src="http://code.jquery.com/jquery-latest.js" >
</script>
 <script language="javascript">
$(function(){
    var data = '<html xmlns="http://www.w3.org/1999/xhtml"><head>'+
               '<title>This is title</title> <meta name="description" content="This is description" /> </head><body></body></html>';
    var title=(/<title>(.*?)<\/title>/m).exec(data)[1];
    console.log(title); //output: This is title
    var dom_list = $(data).find("meta").prevObject;
    $.each(dom_list, function(i,v){
        var c = $(v).attr('content');
        var n = $(v).attr('name');
        if(n!=undefined){
            if(n.toLowerCase()=='description'){
                desc = c;
            }
        }
    }); 
    console.log(desc); // output : This is description
});
</script>

问题:由于数据变量是 html 源代码,它是 jquery 中的选择器,我
可以在其中找到元标记,那么,我可以在 YUI 中使用相同的标记吗?

任何建议都将是可观的。

4

1 回答 1

1
var data = '<html xmlns="http://www.w3.org/1999/xhtml"><head>' + '<title>This is title</title> <meta name="description" content="This is description" /> </head><body></body></html>';
var title = (/<title>(.*?)<\/title>/m).exec(data)[1];
console.log(title); //output: This is title

var metaList = Y.Node.create(data).all("meta");
metaList.each(function(node) {
    var c = node.get('content'),
        n = node.get('name');
    if (n !== null) {
        if (n.toLowerCase() === 'description') {
            desc = c;
        }
    }
});
console.log(desc); // output : This is description

可以在这里查看一个可运行的例子:http: //jsfiddle.net/brianjmiller/LTKs6/

您可能还对http://jsrosettastone.com感兴趣,它显示了 YUI 和 jQuery 之间的常见翻译。

于 2012-12-11T13:07:11.217 回答