国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript 數(shù)據(jù)元素集合與數(shù)組的區(qū)別說明

2024-05-06 14:10:09
字體:
供稿:網(wǎng)友
其中g(shù)etElementsByName(name)方法是獲取頁面中所有具有name屬性的元素,但這個方法在IE與標準瀏覽器中所取到的內(nèi)容不一樣。在IE中g(shù)etElementsByName(name)方法所取到的元素是其本身就自帶有name屬性也就是form表單中所列出的所有元素(這些元素本身就自帶有name屬性);標準瀏覽器中g(shù)etElementsByName(name)方法所取到的元素是具有name屬性的元素(本身就帶有此屬性+人為添加的此屬性)。所以如果在IE瀏覽器中用此方法來獲取頁面中所有帶有name的元素時,只能取出其自身本來就具有此屬性的那些元素(表單類元素)而那些人為添加的name屬性元素則不會被取出來;標準瀏覽器則不會這樣,它會將頁面中所有帶name屬性的元素全部取出。

getElementsByName()與getElementsByTagName()方法的共同之類是它們會把所取得的頁面元素組成一個元素集合并非是數(shù)組(雖然用firebug中的console.log()打印出來時是數(shù)組的形式)。如果用Object.porototype.toString.apply(arr)方法來查看取得的數(shù)據(jù)結(jié)果時,其返回的是“[object HTMLCollection]”而不是“[object Array]”。這樣一來用這兩種方法所取得的元素集合就不能像使用數(shù)組一樣來調(diào)用數(shù)組的一些方法進行操作了而需要將此集合進行轉(zhuǎn)換,將元素集合轉(zhuǎn)換為數(shù)組的形式就可以像操作數(shù)組一樣對里面的元素進行處理了。

這個元素集合具有如下的屬性和方法:

1、元素索引(index)

2、元素集合的長度(length)

3、item()方法:通過傳入不同的索引值可以取得集合中相應的元素。IE下沒有此方法。

4、FF中還有一個namedItem(name)方法,取得具有name屬性的第一個元素。只有FF下有這個方法。

關(guān)于元素集合向數(shù)組形式的轉(zhuǎn)換方法有很多種,大家可以在網(wǎng)上搜索一下就有很多。也可以到司圖正美的這篇《js將類數(shù)組對象轉(zhuǎn)換成數(shù)組對象》博文中學習一。

以下是一個數(shù)組轉(zhuǎn)換的方法:
代碼如下:
function makeArray(arr){
if(arr.item){
var len = arr.length;
var array = [];
while(len--){
array[len] = arr[len];
}
return array;
}
return Array.prototype.slice.call(arr);
}

這是一個小例子,可以看一下轉(zhuǎn)換后的結(jié)果:

圖片精選

主站蜘蛛池模板: 新余市| 磐安县| 兴义市| 芦山县| 阳春市| 阿勒泰市| 班戈县| 涪陵区| 崇明县| 合阳县| 阜南县| 台江县| 吴忠市| 都昌县| 湖北省| 井陉县| 行唐县| 望谟县| 老河口市| 广西| 德安县| 德昌县| 淮南市| 崇文区| 新宁县| 马鞍山市| 沿河| 龙海市| 上饶市| 白沙| 特克斯县| 贵州省| 天气| 托克逊县| 河间市| 大邑县| 前郭尔| 曲沃县| 胶南市| 南安市| 衡阳县|