繁体   English   中英

如何从HTML集合中提取名称?

[英]How do I extract the name from HTML collection?

这是javascript的逐步操作。

在此处输入图片说明

我有一个HTMLCollection,我想遍历它并提取ID为FileUploadControl的对象。 我该怎么做?

这是我的代码,我该如何进行?

    function uploadImage(lnk)
{
    var row = lnk.parentNode.parentNode;
    var rowIndex = row.rowIndex - 1;
    var abc = row.cells[2].getElementsByTagName("input");
    var arr = [].slice.call(abc);
}

这样做:

abc.namedItem('FileUploadControl') 

但请注意:

当有多个元素匹配用作索引的字符串(或namedItem的参数)时,不同的浏览器的行为会有所不同。 Firefox 8的行为与DOM 2和DOM4中指定的一样,返回第一个匹配的元素。 在这种情况下,WebKit浏览器和Internet Explorer返回另一个HTMLCollection,Opera返回所有匹配元素的NodeList。

这里

这意味着,如果在您的标记中有类似以下内容:

<div id='id'>Foo</div>
<div id='id'>Bar</div>

执行以下代码时,浏览器的行为将有所不同:

document.getElementsByTagName('div').namedItem('id')`

Firefox将返回HTMLElement ,而IE将返回另一个HTMLCollection。

要解决此不一致问题,可以应用一个函数返回相同的对象。

retElement( abc.namedItem('id') );

可能是这样的:

var retElement = function(oElem) {
  //Firefox
  if (oElem instanceof window.HTMLElement)
    return oElem;
  //IE and WebKit
  if (oElem instanceof window.HTMLCollection)
    return oElem.item(0);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM