ページから要素 (通常は <div>) を取得し、そこから特定の子要素があるかどうかを判断する純粋な JavaScript 関数を作成しようとしています。これは基本的に、テキスト コンテンツを意味する任意のタグである so:<p>
または任意のヘッダー タグ so ( <h1>
.. <h6>
) またはリストなどです。
これらの要素を操作するつもりはありません。単にそれらの存在を確認するだけです。
したがって、関数は次の形式になります
/**
* Takes an element and returns whether
* the element contains content
* @return boolean (true/false)
*/
var isContent = function (elementToCheck) {
};
document.getElementsByTagName('div')
現在、ページのすべての<div>
要素を取得するために使用しています。次に、これらを一度に 1 つずつ関数に解析します。
私は現在これを下げています
var isContent = function (elementToCheck) {
if (elementToCheck.hasChildNodes()) {
var children = elementToCheck.childNodes;
for (var i = 0; i < children.length; i++) {
// handle children[i]
}
}
}
私はさまざまなものとの同等性を使用してテストしてきましたがchilren[i].nodeValue
、どれも合格できません。
これを続けるための最良の方法は何ですか?これの外側にあるすべての要素を取得し、それらをループしてここで解析し、別のループを実行する必要があるため、厄介な関数になっていると思います。正規表現でそれが可能かどうか疑問に思っていますか?