私は要素内の要素を本質的に選択しようとしています。IDまたはクラスのない要素を選択するにはどうすればよいですか?
function findFirstDescendant(parent, tagname) {
parent = document.getElementsByClassName(parent)[0];
var descendants = parent.getElementsByTagName(tagname);
if (descendants.length)
return descendants[0];
return null;
}
もこの:
document.getElementsByClassName("first")[0].getElementsByTagName("div")[1];
どちらの作業、方法はそうと、私はこのようになります一つの方法を、試してみました
<!DOCTYPE html>
<html>
<head></head>
<body>
<div class="first">
<div></div>
<div><!-- the element I want to select --></div>
</div>
</body>
</html>
:HTMLは次のようになります時代遅れになる私はjQueryをこのままにしたいと思いますが、他の解決策がない場合は受け入れられます。
あなたは間違いなくvar el = document.querySelector('.first > div:nth-child(2)');
console.log(el);
<!DOCTYPE html>
<html>
<head></head>
<body>
<div class="first">
<div></div>
<div>Hello!</div>
</div>
</body>
</html>
... CSSセレクタを活用するためにquerySelector
を使用する必要があります。しかし、明らかに、あなたもこのより古典的な溶液を使用することができます
あなたの第二の試みがで私のために期待どおりに動作するように見えますChrome:https://jsfiddle.net/Obsidian_Age/ay4a990L/ –
ブラウザの互換性の問題のようです。どのブラウザを使用していますか? – shaochuancs
@shaochuancs私はChromeでtampermonkey拡張機能を使用しています。 – DaFudgeWizzad