DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> 關於jQuery判斷元素是否存在的問題示例探討
關於jQuery判斷元素是否存在的問題示例探討
編輯:JQuery特效代碼     

是這樣的,最近做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")); 
} 
} 
) 

} 
)
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved