0

我看到一段这样的代码:

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 元素是否有文件属性?我在互联网上进行了搜索,但一无所获。

4

1 回答 1

1

不,该<tr>元素没有file属性。这意味着您不应该编写以下(无效的)HTML:

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

data-file您可以使用属性名称来做一些非常接近 HTML5 中的事情,那么它是有效的。

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

但是您的标记上没有它(大概),您只是获取一个表示它的 JavaScript 对象<tr>,并将其添加为属性 -而不是属性。要操作实际属性(如data-file),您必须使用setAttributeand getAttribute

于 2012-05-12T04:16:29.360 回答