ホームページ  >  記事  >  ウェブフロントエンド  >  要素が存在するかどうかを判断する jQuery の問題に関する議論の例_jquery

要素が存在するかどうかを判断する jQuery の問題に関する議論の例_jquery

WBOY
WBOYオリジナル
2016-05-16 16:41:251279ブラウズ

そうです、最近 jQuery のトレーニングを行っていたときに、jQuery が要素が存在するかどうかを判断するときに問題が発生しました。

質問は次のとおりです。「選択ボタン 3」の後に Id=rad4 を追加してください。選択された状態では、「選択ボタン 4」というテキストを含む HTML コントロールは 1 回だけ追加できます (js ネイティブの使用を選択できます)。または JQuery を使用して実装します)

function addradio() 
{ 
if (!document.getElementById("rad4")) 
{ 
var main = document.getElementById("radioContainer"); 

var input = document.createElement("input"); 
input.setAttribute("type", "radio"); 
input.setAttribute("id", "rad4"); 
var span = document.createElement("span"); 
var txt = document.createTextNode("选择按钮4"); 
span.appendChild(txt); 
main.appendChild(input); 
main.appendChild(span); 
} 
}

オブジェクトが存在するかどうかを判断するだけで十分です。 if (!document.getElementById("rad4")) ですが、jQuery では if (!$("#rad4")) は常に false と考えていましたが、そうではありません

jQuery の場合。 $("") ラッパーでラップされると、それは null や未定義ではなくオブジェクトになるため、!$("#rad4")

常に false。正しいアプローチは次のとおりです

ラッパーにオブジェクトがない場合、長さは 0 になります。

$(function () 
{ 

$(".domtree div:eq(6) input:eq(1)").click(function () 
{ 
if ($("#rad4").length < 1) 
{ 
$("<input type='radio' id='rad4'> <span>选择按钮4</span>").appendTo($("#radioContainer")); 
} 
} 
) 

} 
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。