ELSEIFが起動していないため、正しい構文を使用しているかどうかわかりません。これは正しい構文ですか、それをテストする最良の方法は何ですか?親ノードに子ノードがないかどうかを確認する方法
<script>
function OnLoad() {
var links = document.getElementById("<%=TreeView1.ClientID %>").getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
links[i].setAttribute("href", "javascript:NodeClick(\"" + links[i].id + "\", \"" + links[i].getAttribute("href") + "\")");
}
}
window.onload = OnLoad;
function NodeClick(id, attribute) {
var nodeLink = document.getElementById(id);
if (nodeLink.hasChildNodes)
{
eval(attribute);
}
else if (nodeLink.hasChildNodes == false)
{
alert(nodeLink.innerHTML + " clicked");
window.open("../NewFolder/addNewProduct.aspx");
}
else
{
return;
}
}
</script>
私はそれが動作自体が警告/開いているウィンドウを移動するので、私はこの問題は、この行にあると思われる場合:それは、その後、子ノード0
ない場合
else if (nodeLink.hasChildNodes == false)
あなたはjQueryのを使用することができる場合、あなたは '$( '親のためのセレクタ')行うことができます。子供()。長さ> 0 '。 'else if'を' else'だけで置き換えることができます。または 'undefined'もチェックしていますか? – Arg0n
ありがとう@Arg0n、私は、私が持っているものでそれを実装する方法を確認することができませんでした。 – user2796515
hasChildNodes()はメソッドではありませんか? – semuzaboi