get_elements_by_attribute.js

来自「源码JAVASCRIPT精粹」· JavaScript 代码 · 共 86 行

JS
86
字号
addLoadListener(init);function init(){  var notSirius = getElementsByAttribute("title", "Not Sirius");  alert('There are ' + notSirius.length + ' elements with the title "Not Sirius"');  return true;}function getElementsByAttribute(attribute, attributeValue){  var elementArray = new Array();  var matchedArray = new Array();  if (document.all)  {    elementArray = document.all;  }  else  {    elementArray = document.getElementsByTagName("*");  }  for (var i = 0; i < elementArray.length; i++)  {    if (attribute == "class")    {      var pattern = new RegExp("(^| )" + attributeValue + "( |$)");      if (pattern.test(elementArray[i].className))      {        matchedArray[matchedArray.length] = elementArray[i];      }    }    else if (attribute == "for")    {      if (elementArray[i].getAttribute("htmlFor") || elementArray[i].getAttribute("for"))      {        if (elementArray[i].htmlFor == attributeValue)        {          matchedArray[matchedArray.length] = elementArray[i];        }      }    }    else if (elementArray[i].getAttribute(attribute) == attributeValue)    {      matchedArray[matchedArray.length] = elementArray[i];    }  }  return matchedArray;}function addLoadListener(fn){  if (typeof window.addEventListener != 'undefined')  {    window.addEventListener('load', fn, false);  }  else if (typeof document.addEventListener != 'undefined')  {    document.addEventListener('load', fn, false);  }  else if (typeof window.attachEvent != 'undefined')  {    window.attachEvent('onload', fn);  }  else  {    var oldfn = window.onload;    if (typeof window.onload != 'function')    {      window.onload = fn;    }    else    {      window.onload = function()      {        oldfn();        fn();      };    }  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?