getElementByTagName 獲取倒數第二個元素

antzone發表於2017-03-29

使用getElementByTagName()方法可以獲取指定標籤的元素集合。

具體參閱document.getElementsByTagName()方法一章節。

下面介紹一下如何獲取的元素集合中倒數第二個元素。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
li{
  width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
</style>
<script type="text/javascript">
function done(olis,index){
  var len=olis.length;
  if(index>=0&&index<len){
    return olis[index];
  }
  else if(index<0){
    var _index=len+index;
    if(_index<0){
      return null;
    }
    return olis[len+index]
  }
  else{
    return null;
  }
}
window.onload=function(){
  var olis=document.getElementsByTagName("li");
  var oli=done(olis,-2);
  oli.style.color="red";
}
</script>
</head>
<body>
<ul>
  <li>只有努力奮鬥才會有美好的明天。</li>
  <li>分享互助是進步最大的源動力。</li>
  <li>每一天都是新的,要好好珍惜。</li>
  <li>沒有人一開始就是高手,只有努力才有成長的可能</li>
  <li>只有當下的時間是可貴的,下一秒都是虛幻的</li>
</ul>
</body>
</html>

上面的程式碼實現了我們的要求,當然上面的程式碼可能不是最好的,但是提供了一個實現的思路。

程式碼註釋:

(1).function done(olis,index){},此函式實現了獲取指定索引元素的效果,第一個引數是物件集合,第二個引數規定要獲取元素的索引,如果是正數,那麼就是正序獲取元素,如果是負數,那麼就是倒數獲取元素,-1就是倒數第一個元素。

(2).var len=olis.length,獲取集合中元素的個數。

(3).if(index>=0&&index<len){

  return olis[index];

},如果index大於0並且小於元素的數目,那麼就獲取此元素。

(4).else if(index<0){

  var _index=len+index;

  if(_index<0){

    return null;

  }

  return olis[len+index]

},如果index小於0,就進行響應的計算得到正數的索引值,如果_index<0,說明index太小了,比如只有5個元素,-6就是倒數第六個明顯錯誤。

(5).else{

  return null;

},其他情況返回null。

相關文章