關(guān)于jQuery判斷元素是否存在的問題示例探討
是這樣的,最近做jQuery訓練時遇到jQuery判斷元素是否存在時出現(xiàn)問題.
題目如下:請在"選擇按鈕3"后面,添加Id=rad4,處于選擇狀態(tài)的,之后文字為"選擇按鈕4"的HTML控件,只能添加一次(自由選擇使用js原生或JQuery實現(xiàn)
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"));
}
}
)
}
)
相關(guān)文章
jQuery基于事件控制實現(xiàn)點擊顯示內(nèi)容下拉效果
這篇文章主要介紹了jQuery基于事件控制實現(xiàn)點擊顯示內(nèi)容下拉效果,涉及jQuery事件響應及元素屬性動態(tài)操作相關(guān)技巧,需要的朋友可以參考下2017-03-03
深入淺析ng-bootstrap 組件集中 tabset 組件的實現(xiàn)分析
這篇文章主要介紹了ng-bootstrap 組件集中 tabset 組件的實現(xiàn)分析 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
jQuery選擇器源碼解讀(四):tokenize方法的Expr.preFilter
這篇文章主要介紹了jQuery選擇器源碼解讀(四):tokenize方法的Expr.preFilter,本文用詳細的注釋解讀了tokenize方法的Expr.preFilter的實現(xiàn)源碼,需要的朋友可以參考下2015-03-03
jQuery中DOM節(jié)點的刪除方法總結(jié)(超全面)
這篇文章主要介紹了jQuery中DOM節(jié)點的刪除方法,文中介紹的很相信,內(nèi)容包括empty()的基本用法、remove()的有參用法和無參用法、empty和remove區(qū)別、保留數(shù)據(jù)的刪除操作detach()以及detach()和remove()區(qū)別,需要的朋友可以參考借鑒。2017-01-01

