正確使用判斷對(duì)象是否存在應(yīng)該用:if($("#id").length0){}else{} 使用jQuery 對(duì)象的屬性 length 來(lái)判斷,如果 0 就存在?;蛘?if($("#id")[0]){} else {} 或者直接使用原生的 Javascript 代碼來(lái)判斷: if(document.getElementByIdx_x_xx_x("id")){} else {} 或者var g = document.getElementById; if (g('addrId_324') != null) { //判斷是否存在這個(gè)id號(hào),不存在則為null g('addrId_' + selAddressId).className = ''; } JQuery 判斷某個(gè)屬性是否存在 hasAttr在JQuery編碼中,我們會(huì)判斷元素是否存在某個(gè)屬性.比如是否包含 class="new"的樣式呢.JQuery判斷就非常簡(jiǎn)單了,因?yàn)橛?hasClass這個(gè)方法 $("input[name=new]").hasClass("new") 即可判斷. 這時(shí)就沒(méi)有現(xiàn)成的方法了. 如果存在某個(gè)屬性 $("#aid").attr("rel") 會(huì)返回 rel的值,如果不存在 rel屬性則會(huì)返回"undefined" undefined 就是 undefined類型 , if($("#aid").attr("rel")=="undefined") 這個(gè)判斷可能不成立. 因?yàn)轭愋筒幌嗤? 建議使用 if(typeof($("#aid").attr("rel"))=="undefined") 即可 判斷JS對(duì)象是否擁有某屬性兩種方式,但稍有區(qū)別1,in 運(yùn)算符123varobj = {name:'jack'};alert('name'inobj); // -- truealert('toString'inobj); // -- true可看到無(wú)論是name,還是原形鏈上的toString,都能檢測(cè)到返回true。 2,hasOwnProperty 方法?123varobj = {name:'jack'};obj.hasOwnProperty('name'); // -- trueobj.hasOwnProperty('toString'); // -- false原型鏈上繼承過(guò)來(lái)的屬性無(wú)法通過(guò)hasOwnProperty檢測(cè)到,返回false。
公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)建站推出長(zhǎng)樂(lè)免費(fèi)做網(wǎng)站回饋大家。
使用attr()方法來(lái)實(shí)現(xiàn)
我們可以使用attr()來(lái)設(shè)置屬性,比如設(shè)置為只讀:
$("#id").attr("disabled",true)
反之,可以通過(guò)獲取屬性值來(lái)判斷指定屬性是否存在
if(typeof($("#id").attr("rel"))=="undefined")
{
//不存在執(zhí)行
}else{
//存在執(zhí)行
}
第一種,判斷js對(duì)象中是否有某個(gè)屬性
var?obj?=?{test?:?'test'};
if('test'?in?obj){
console.log('yes');
}?else?{
console.log('no');
}
第二種,判斷js對(duì)象本身是否有某個(gè)屬性(所謂本身有意思是,必須屬性是直接在對(duì)象上的,而不是通過(guò)原型鏈上找到的。
var?Base?=?function(){};
Base.prototype.test?=?'test';
var?obj?=?new?Base();
obj.test2?=?'test2';
if('test1'?in?obj){
console.log('yes');
}?else?{
console.log('no');
}
if(obj.hasOwnProperty('test2')){
console.log('own');
}?else?{
console.log('none');
}
//用in?操作符,可以判斷有沒(méi)有。?用hasOwnProperty來(lái)判斷在自身有沒(méi)有。
如果是dom對(duì)象,使用getAttribute()方法
例如
var?box?=?document.getElementById('#box');
if(box.getAttribute('屬性名')){
console.log('說(shuō)明含有屬性')
}?else?{
console.log('說(shuō)明沒(méi)有含有屬性')
}
如果是在javascript中的對(duì)象直接獲取對(duì)象.屬性名或者對(duì)象[屬性名],如果獲取不到就是沒(méi)有,獲取到就是存在