最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js中的getAttribute方法使用示例

 更新時間:2014年08月01日 15:21:50   投稿:whsnow  
getAttribute()方法是一個函數(shù)。它只有一個參數(shù)——你打算查詢的屬性的名字,下面為大家介紹下其具體的使用

getAttribute()方法

至此,我們已經(jīng)向大家介紹了兩種檢索特定元素節(jié)點的辦法:一種是使用getElementById()方法,另一種是使用getElementsByTagName()方法。在找到那個元素后,我們就可以利用getAttribute()方法把它的各種屬性的值查詢出來。
getAttribute()方法是一個函數(shù)。它只有一個參數(shù)——你打算查詢的屬性的名字:
object.getAttribute(attribute)
不過,getAttribute()方法不能通過document對象調(diào)用,這與我們此前介紹過的其他方法不同。我們只能通過一個元素節(jié)點對象調(diào)用它。
例如,你可以把它與getElementsByTagName()方法結(jié)合起來,去查詢每個<p>元素的title屬性,如下所示:

var text=document.getElementsByTagName("p")
for (var i=0;i<text.length;i++)
{
alert(text[i].getAttribute("title"));
}

如果把上面這段代碼插入到前面給出的“購物清單”示例文檔的末尾,并在Web瀏覽器里重新加載這個頁面,屏幕上將彈出一個顯示著文本消息“a gentle reminder”的alter對話框。
在“購物清單”文檔里只有一個帶有title屬性的<p>元素。假如這份文檔還有一個或更多個不帶title屬性的<p>元素,則相應(yīng)的getAttribute("title")調(diào)用將返回null。null是JavaScript語言中的空值,其含義是“你說的這個東西不存在”。如果你們想親自驗證一下這件事,請先把下面這段文本插入到“購物清單”文檔中的現(xiàn)有文本段落之后:
<p>This is just test</p>
然后重新加載這個頁面。這一次,你們將看到兩個alter對話框,而第二個對話框?qū)⑹且黄瞻谆蛘呤侵伙@示著單詞“null”——具體情況要取決于你的Web瀏覽器將如何顯示null值。
可以修改我們的腳本,讓它只在title屬性存在時才彈出一條消息。我們將增加一條if語句來檢查getAttribute()方法的返回值是不是null。趁著這個機會,我們還增加了幾個變量以提高腳本的可讀性:

var ts=document.getElementsByTagName("li");
for (var i=0; i<ts.length;i++)
{text=ts[i].getAttribute("title");
if(text!=null)
{
alert(text)
}
}

現(xiàn)在,如果重新加載這個頁面,你們將只會看到一個顯示著“a gentle reminder”消息的alter對話框,如下所示。
我們甚至可以把這段代碼縮得更短一些。當(dāng)檢查某項數(shù)據(jù)是否是null值時,我們其實是在檢查它是否存在。這種檢查可以簡化為直接把被檢查的數(shù)據(jù)用做if語句的條件。if (something)與if (something != null)完全等價,但前者顯然更為簡明。此時,如果something存在,則if語句的條件將為真;如果something不存在,則if語句的條件將為假。
具體到這個例子,只要我們把if (title_text != null)替換為if (title_text),我們就可以得到更簡明的代碼。此外,為了進一步增加代碼的可讀性,我們還可以趁此機會把alter語句與if語句寫在同一行上,這可以讓它們更接近于我們?nèi)粘I钪械挠⒄Z句子:

var ts=document.getElementsByTagName("li");
for (var i=0; i<ts.length;i++)
{text=ts[i].getAttribute("title");
if(text) alert(text)
}

3.4.2 setAttribute()方法
我們此前介紹給大家的所有方法都只能用來檢索信息。setAttribute()方法與它們有一個本質(zhì)上的區(qū)別:它允許我們對屬性節(jié)點的值做出修改。
類似于getAttribute()方法,setAttribute()方法也是一個只能通過元素節(jié)點對象調(diào)用的函數(shù),但setAttribute()方法需要我們向它傳遞兩個參數(shù):
obiect.setAttribute(attribute,value)
在下面的例子里,第一條語句將把id屬性值是purchase的元素檢索出來,第二條語句將把這個元素的title屬性值設(shè)置為a list of goods:

var shopping=document.getElementById("purchases")
shopping.setAttribute("title","a list of goods")

我們可以利用getAttribute()方法來證明這個元素的title屬性值確實發(fā)生了變化:

var shopping=document.getElementById("purchases");
alert(shopping.getAttribute("title"));
shopping.setAttribute("title","a list of goods");
alert(shopping.getAttribute("title"));

上面這些語句將在屏幕上彈出兩個alert對話框:第一個alter對話框出現(xiàn)在setAttribute()方法被調(diào)用之前,它將是一片空白或顯示著單詞“null”;第二個出現(xiàn)在title屬性值被設(shè)置之后,它將顯示著“a list of goods”消息。
在上例中,我們設(shè)置了一個現(xiàn)有節(jié)點的title屬性,但這個屬性原先并不存在。這意味著我們發(fā)出的setAttribute()調(diào)用實際完成了兩項操作:先把這個屬性創(chuàng)建出來,然后再對其值進行設(shè)置。如果我們把setAttribute()方法用在元素節(jié)點的某個現(xiàn)有屬性上,這個屬性的當(dāng)前值將被覆蓋。
在“購物清單”示例文檔里,<p>元素已經(jīng)有了一個title屬性,這個屬性的值是a gentle reminder。我們可以用setAttribute()方法來改變它的當(dāng)前值:

<script type="text/javascript">
var ts=document.getElementsByTagName("li");
for (var i=0; i<ts.length;i++)
{
var text=ts[i].getAttribute("title");
alert(ts[i].getAttribute("title"))
if(text)
{
ts[i].setAttribute("title","我會成功!")
alert(ts[i].getAttribute("title"))
}
}

上面這段代碼將先從文檔里把已經(jīng)帶有title屬性的<p>元素全部檢索出來,然后把它們的title屬性值全部修改為brand new title text。具體到“購物清單”文檔,屬性值a gentle reminder將被覆蓋。
這里有一個非常值得關(guān)注的細(xì)節(jié):通過setAttribute()方法對文檔做出的修改,將使得文檔在瀏覽器窗口里的顯示效果和/或行為動作發(fā)生相應(yīng)的變化,但我們在通過瀏覽器的view source(查看源代碼)選項去查看文檔的源代碼時看到的仍將是原來的屬性值——也就是說,setAttribute()方法做出的修改不會反映在文檔本身的源代碼里。這種“表里不一”的現(xiàn)象源自DOM的工作模式:先加載文檔的靜態(tài)內(nèi)容、再以動態(tài)方式對它們進行刷新,動態(tài)刷新不影響文檔的靜態(tài)內(nèi)容。這正是DOM的真正威力和誘人之處:對頁面內(nèi)容的刷新不需要最終用戶在他們的瀏覽器里執(zhí)行頁面刷新操作就可以實現(xiàn)。

相關(guān)文章

  • Iframe thickbox2.0使用的方法

    Iframe thickbox2.0使用的方法

    一個小項目中用到,奉命進行修改,定位到
    2009-03-03
  • 全面解析Bootstrap表單樣式的使用

    全面解析Bootstrap表單樣式的使用

    這篇文章主要介紹了bootstrap表單樣式的使用,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • js實現(xiàn)計算器功能

    js實現(xiàn)計算器功能

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)計算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 如何設(shè)置一定時間內(nèi)只能發(fā)送一次請求

    如何設(shè)置一定時間內(nèi)只能發(fā)送一次請求

    這篇文章主要介紹了如何設(shè)置一定時間內(nèi)只能發(fā)送一次請求,需要的朋友可以參考下
    2014-02-02
  • 擁有一個屬于自己的javascript表單驗證插件

    擁有一個屬于自己的javascript表單驗證插件

    這篇文章主要幫助大家擁有一個屬于自己的javascript表單驗證插件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • gridview生成時如何去掉style屬性中的border-collapse

    gridview生成時如何去掉style屬性中的border-collapse

    默認(rèn)gridview控件會在生成的html代碼中的style屬性中加入border-collapse:collapse,如果想把它去掉的話
    2014-09-09
  • 使用canvas及js簡單生成驗證碼方法

    使用canvas及js簡單生成驗證碼方法

    在很多時候都需要用到驗證碼,前端驗證碼需要知道Html5中的canvas知識點。驗證碼生成步驟是:1.生成一張畫布canvas 2.生成隨機數(shù)驗證碼 3.在畫布中生成干擾線 4.把驗證碼文本填充到畫布中 5.點擊畫布更換驗證碼
    2017-04-04
  • JavaScript前端實現(xiàn)壓縮圖片功能

    JavaScript前端實現(xiàn)壓縮圖片功能

    這篇文章主要介紹了JavaScript前端實現(xiàn)壓縮圖片功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • JavaScript深拷貝的一些踩坑記錄

    JavaScript深拷貝的一些踩坑記錄

    這篇文章主要給大家介紹了關(guān)于JavaScript深拷貝的一些踩坑記錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 自動刷新網(wǎng)頁,自動刷新當(dāng)前頁面,JS調(diào)用

    自動刷新網(wǎng)頁,自動刷新當(dāng)前頁面,JS調(diào)用

    自動刷新網(wǎng)頁,自動刷新當(dāng)前頁面,JS調(diào)用,需要的朋友可以參考一下
    2013-06-06

最新評論

车致| 湖南省| 玉田县| 海丰县| 佛山市| 芜湖市| 文山县| 泌阳县| 汶川县| 乐至县| 漳浦县| 临沭县| 赣榆县| 襄城县| 景洪市| 石台县| 松溪县| 保德县| 长白| 永城市| 星子县| 乌兰察布市| 喀喇沁旗| 鄂伦春自治旗| 鄯善县| 富民县| 蒙城县| 百色市| 周口市| 乃东县| 澄城县| 太保市| 通许县| 东港市| 搜索| 柳江县| 汉川市| 兴隆县| 洛南县| 苗栗市| 塘沽区|