首頁 web前端 js教程 常見的原始JS選擇器使用方法總結_javascript技巧

常見的原始JS選擇器使用方法總結_javascript技巧

May 16, 2016 pm 04:52 PM
選擇器

常見的getElementById,getElementsByName,getElementsByTagName。但外國人不滿意這些API,於是搞出了getElementsByClassName,後來一點點又出現了jQuery選擇器,這裡只說原始js選擇。

1.getElementById

這是最常用的選擇器,透過id來定位:

例:

var test=document.getElementById(" test").value;//取得文件中id為test的元素的值,並賦值給test變臉

2.getElementsByName

例:

var test= document.getElementByName("test");//取得文件中name為test的元素的節點,並賦值給test變量,此時test變數是數組

3.getElementsByTagName

例:

var test=document.getElementsByTagName("test");//取得文件中class為test的元素的節點,並賦值為test,此時test變數是數組,這個選擇器在IE5,6,7,8中無法使用

4.getElementsByClassName

這個選擇器在js的API中是找不到的,想要使用必須自己定義方法,通常的原理為先使用getElementsByTagName("*")取出文件中所有元素,然後進行遍歷,使用正規表示式找出符合的元素放入陣列返回。網路上有很多程式設計師實現了這個選擇器,下面舉兩例:

(1)The Ultimate getElementsByClassName方案,作者為Robert Nyman,05年實現,可見老外許多東西在很早以前就走得很遠了。

複製程式碼 程式碼如下:

//三個參數都是必要的,找出一>

//三參數網頁中5007個類名為「cell」的元素,IE8歷時1828 ~ 1844毫秒,
//IE6為4610 ~ 6109毫秒,FF3.5為46 ~ 48毫秒,opera10為31 ~ 3225,Chrome為毫秒23~ 26毫秒,
//safari4為19 ~ 20毫秒
function getElementsByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" & oElm. all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/-/g, "\-");
var oRegExp = new RegExp("(^|\s)" strClassName "(\s|$)");
var oElement;
for(var i=0; i oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}

(2)由Dustin Diaz(《JavaScript Design Patterns》的作者)提供,但相容性不如上面的,不支援IE5。 複製程式碼
程式碼如下:


/網頁後兩參數中5007個類名為「cell」的元素,IE8歷時78毫秒,IE6歷時125~171毫秒
//FF3.5為42 ~ 48毫秒,opera10為31 毫秒,Chrome為22~ 25毫秒,safari4為18 ~ 19毫秒
var getElementsByClass = function(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document; >if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp(" (^|\s)" searchClass "(\s|$)");
for (i = 0, j = 0; i if ( pattern.test(els[i ].className) ) {
classElements[j] = els[i];
j ;
}
}
return classElements;
}


------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---

註:this可以表示目前元素的節點。

-------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------

以下是配合事件等知識點的一些常用的使用方法: 程式碼如下:

//提交id為test的表單

document.getElementById("test").submit();

//將id為test元素的邊框設為2個像素,實體,紅色

document.getElementById("test").style.border="2px solid red";

//滑鼠移動或移出id為test的元素,改變其背景色

function test(){
document.getElementById("test").onmouseover=function(){document.getElementById("test2").style.backgroundColor="red"} ;
document.getElementById("test").onmouseout=function(){document.getElementById("test2").style.backgroundColor="blue"};
}

///彈出文件中name為test的元素的個數

function test()
  {
  var test=document.getElementsByName("test");
  alerttest. 🎜>  }

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

css中id選擇符的標識是什麼 css中id選擇符的標識是什麼 Sep 22, 2022 pm 03:57 PM

在css中,id選擇符的識別是“#”,可以為標有特定id屬性值的HTML元素指定特定的樣式,語法結構“#ID值 {屬性 : 屬性值;}”。 ID屬性在整個頁面中是唯一不可重複的;ID屬性值不要以數字開頭,數字開頭的ID在Mozilla/Firefox瀏覽器中不起作用。

使用:nth-child(n+3)偽類選擇器選擇位置大於等於3的子元素的樣式 使用:nth-child(n+3)偽類選擇器選擇位置大於等於3的子元素的樣式 Nov 20, 2023 am 11:20 AM

使用:nth-child(n+3)偽類選擇器選擇位置大於等於3的子元素的樣式,具體程式碼範例如下:HTML程式碼:<divid="container"><divclass="item"&gt ;第一個子元素</div><divclass="item"&

css偽選擇器學習之偽類選擇器解析 css偽選擇器學習之偽類選擇器解析 Aug 03, 2022 am 11:26 AM

在之前的文章《css偽選擇器學習之偽元素選擇器解析》中,我們學習了偽元素選擇器,而今天我們詳細了解一下偽類選擇器,希望對大家有所幫助!

javascript選擇器失效怎麼辦 javascript選擇器失效怎麼辦 Feb 10, 2023 am 10:15 AM

javascript選擇器失效是因為程式碼不規範導致的,其解決方法:1、把引入的JS程式碼去掉,ID選擇器方法即可有效;2、在引入「jquery.js」之前引入指定JS程式碼即可。

css中的選擇器包含超文本標記選擇器嗎 css中的選擇器包含超文本標記選擇器嗎 Sep 01, 2022 pm 05:25 PM

不包括。 css選擇器有:1、標籤選擇器,是透過HTML頁面的元素名稱定位具體HTML元素;2、類別選擇器,是透過HTML元素的class屬性的值定位具體HTML元素;3、ID選擇器,是透過HTML元素的id屬性的值定位具體HTML元素;4、通配符選擇器“*”,可以指所有類型的標籤元素,包括自訂元素;5、屬性選擇器,是透過HTML元素已經存在屬性名或屬性值來定位具體HTML元素。

從入門到精通:掌握is與where選擇器的使用技巧 從入門到精通:掌握is與where選擇器的使用技巧 Sep 08, 2023 am 09:15 AM

從入門到精通:掌握is與where選擇器的使用技巧引言:在進行資料處理與分析的過程中,選擇器(selector)是一項非常重要的工具。透過選擇器,我們可以按照特定的條件從資料集中提取所需的資料。本文將介紹is和where選擇器的使用技巧,幫助讀者快速掌握這兩個選擇器的強大功能。一、is選擇器的使用is選擇器是一種基本的選擇器,它允許我們根據給定條件對資料集進

深度解析is與where選擇器:提升CSS編程水平 深度解析is與where選擇器:提升CSS編程水平 Sep 08, 2023 pm 08:22 PM

深度解析is與where選擇器:提升CSS程式水平引言:在CSS程式設計過程中,選擇器是不可或缺的元素。它們允許我們根據特定的條件選擇HTML文件中的元素並對其進行樣式化。在這篇文章中,我們將深入探討兩個常用的選擇器,分別是:is選擇器和where選擇器。透過了解它們的工作原理和使用場景,我們可以大大提升CSS編程的水平。一、is選擇器is選擇器是一個非常強大的選擇

wxss選擇器有哪些 wxss選擇器有哪些 Sep 28, 2023 pm 04:27 PM

wxss選擇器有元素選擇器、類別選擇器、ID選擇器、偽類選擇器、子元素選擇器、屬性選擇器、後代選擇器和通配選擇器等。詳細介紹:1、元素選擇器,使用元素名稱作為選擇器,選取符合的元素,使用「view」選擇器可以選取所有的「view」元件;2、類別選擇器,使用類別名稱作為選擇器,選取具有特定類別名稱的元素,使用“.classname”選擇器可以選取具有“.classname”類別名稱的元素等等。

See all articles