2017-02-08 10 views
0

window.onLoad(HTMLコードで )の場合、findElementsを呼び出すと、tmp2はすべてのタグを選択しますが、他のタグは選択しません。私は本当に理解できません。前もって感謝します。Regex、getElementsByTagNameとgetElementsByClassName

function findElements(){ 
    var tmp = document.getElementsByClassName("*"); // nothing 
    var tmp2 = document.getElementsByTagName("*"); // all tags, so regexp could be input arg. 
    var tmp3 = document.getElementsByTagName("b..."); // nothing, but body tag is supposed to be selected 
} 

答えて

1

引数として正規表現を受け入れないgetElementsByTagName方法。

それだけ文字列いずれかでなければなりません受け入れ:

  • ワイルドカード*
  • 正規表現を受け入れない要素型

getElementsByClassName方法のための完全な一致

それはでなければならないだけ文字列受け入れ:querySelectorAll方法は、(属性のより複雑なマッチングを行うためにattribute selectorsを使用することができます

  • クラス名と完全に一致

をclass属性を含む)が、正規表現もサポートしていません。


あなたが本当に正規表現マッチを行いたい場合は、順番に各1をテストし、ワイルドカード(getElementsByTagName("*"))を持つすべての要素を選択し、結果をループする必要があります。

関連する問題