2013-02-21 61 views
0

我試圖構建一個jQuery函數,如果META標記的內容包含在單詞列表中,則會觸發特定事件。jQuery內部列表條件

我已經試過:

<meta name="sun" content="a" > 

<script> 

$('meta[name=sun]').each(function(){ 
    var metacontent = $(this).attr("content"); 
    var list = ["a","b","c"]; 

if(metacontent.match(list)) { //that is wrong I guess 
    console.log("hi"); 

} 
}); 
</script> 

你能不能給我一個提示?

回答

1

你可以嘗試jQuery的效用函數$ .inArray

if($.inArray(metacontent, list) >= 0) { 
..... 
+1

我想你的意思是'如果($ inArray(列表,這是真的,事實上,它應該是'if($。inArray(metacontent,metacontent)){' – andyb 2013-02-21 11:04:09

+0

@andyb,謝謝....根據文檔它是$ .inArray(needle,haystack) – 2013-02-21 11:10:06

+0

heh,列表)> = 0){'因爲'a'在索引0和會導致條件評估爲假而沒有比較 – andyb 2013-02-21 11:14:00

0
function checkMeta(name, list) { 
    var metacontent = $('meta[name="' + name + '"]').attr('content'); 

    return ($.inArray(metacontent, list) >= 0); 
} 

$(document).ready(function() { 
    var list = ["a","b","c"]; 

    console.log(checkMeta('sun', list)); 
}); 
0

你可以試試下面的代碼:

​​