2012-05-12 76 views
0

我看到了這樣的一段代碼:Html5的TR與文件屬性

var pl = document.createElement('tr'); 
... 
pl.file = f; 
pl.onclick = function(e){ 
    if(e && e.button == 1){ 
     pl.parentNode.removeChild(pl); 
    }else{ 
     var url; 
     if(window.createObjectURL){ 
      url = window.createObjectURL(f) 
     }else if(window.createBlobURL){ 
      url = window.createBlobURL(f) 
     }else if(window.URL && window.URL.createObjectURL){ 
      url = window.URL.createObjectURL(f) 
     }else if(window.webkitURL && window.webkitURL.createObjectURL){ 
      url = window.webkitURL.createObjectURL(f) 
     }      
     $("player").src = url; 
     $("player").play(); 
    } 
} 

這是一個音頻播放器。我在想如果tr元素有一個文件屬性?我在互聯網上搜索,但什麼也沒有。

+0

我不知道我完全理解你的問題。我認爲pl.file只是創建一個動態成員。 – tzerb

+0

我想,pl是由腳本動態創建的tr元素。 – panda

+0

是的,這有什麼問題?你可以創建pl.HereIAm =「我在這裏」然後警告(pl.HereIAm);這就是JavaScript在工作中的動態本質。 – tzerb

回答

1

不,<tr>元素沒有file屬性。這意味着你不應該寫以下(無效)HTML:

<tr file="http://example.com/file.txt"> 

你可以使用data-file作爲屬性的名稱極爲類似,在HTML5,那麼它是有效的。

<tr data-file="http://example.com/file.txt"> 

但是你沒有上您的標記(大概),你只是把它表示<tr> JavaScript對象,並將其添加一個屬性– 不是屬性。要操縱實際屬性(如data-file),您必須使用setAttributegetAttribute

+0

這就是我以爲他最初想要的,但他說他找到了代碼。他不是在寫它。 – tzerb

+0

是的,問題很奇怪。我希望我編輯的答案澄清它。 – bfavaretto

+0

哦,我認爲標籤的屬性受到W3C屬性列表的限制。所以我受到這個文件屬性的痛苦。 – panda