首頁  >  文章  >  web前端  >  關於jQuery判斷元素是否存在的問題範例探討_jquery

關於jQuery判斷元素是否存在的問題範例探討_jquery

WBOY
WBOY原創
2016-05-16 16:41:251243瀏覽

是這樣的,最近做jQuery訓練時遇到jQuery判斷元素是否存在時出現問題.

題目如下:請在"選擇按鈕3"後面,添加Id=rad4,處於選擇狀態的,之後文字為"選擇按鈕4"的HTML控件,只能添加一次(自由選擇使用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"))卻是永假的的 樓以為 跟javascript一樣事實並非如此

在jQuery。一旦被$("")包裝器 包裝起來 就是一個物件 不是null或未定義 所以!$("#rad4")

永遠是false 。正確做法如下

包裝器中如果沒有物件那麼長度就為0;只需要這樣就ok了

$(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