html源代码可能是YUI中的选择器,如jQuery吗?通过YUI查找标题和元描述

时间:2012-12-11 10:57:15

标签: jquery yui

我是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和i的选择器            可以在这里找到元标签,那么,我可以在YUI中使用相同的标签吗?

任何建议都是可以理解的。

1 个答案:

答案 0 :(得分: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之间的常见翻译。