2014-01-27 13 views
0

我想檢查網頁上是否存在元標記。使用javascript在網頁上檢查元標記

我已經試過這樣:

document.getElementsByTagName("meta[http-equiv:Content-Type]").length 

但這送花兒給人返回0,我怎麼能這樣做?我想通過使用JavaScript來做到這一點。不是jQuery。

回答

5
var x = document.querySelector('meta[http-equiv="Content-Type"]'); 
console.log(x); 

x如果找到,則對元標記有引用。這將是null否則,這樣你就可以使用if (x) {

Live demo (click).

這裏有一個辦法做到這一點,如果querySelectorAll不支持(舊的瀏覽器)

var metas = document.getElementsByTagName('meta'); 

var found; 
for (var i=0; i<metas.length; ++i) { 
    var meta = metas[i]; 
    if (meta.getAttribute('http-equiv') === "Content-Type") { 
    found = meta; 
    break; 
    } 
} 

console.log(found); 

Live demo (click).

found有一個對元標記的引用如果它存在。你可以做if (found) {來確定它是否存在。

+1

你甚至不需要檢查長度,只需使用'querySelector'並確保它返回的值不爲空即可。 – kei

+0

嗯..我已經在Chrome和IE9上測試過了,如果它不在那裏,我會得到空值。 – kei

+0

@kei哦,你的意思是沒有「全部」,實際上不適用於此。如果在頁面上有另一個元標記,然後我們正在查找屬性的標記,它將會失敗。 – m59

相關問題