使用恒等(===)判斷(值與類型都一致)
目前創(chuàng)新互聯(lián)公司已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、城子河網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
如果用用等同(==)判斷(值一致)的話有誤判情況
var a = "1"; //字符串1
var b = 1; //數(shù)值1
var c = true; //布爾值1
var d = "1";
if (a==b a==c a==d) {console.log('equality');} //輸出equality
if (a===b || a===c) { //輸出not identity
console.log('identity');
}
else {
console.log('not identity');
}
if (a===d) {console.log('identity');} //輸出identity
根據(jù)你的需求,我寫了兩段代碼(分使用jQuery和原生JS描述),請參考:
/*使用jQuery的寫法,需先引入jQuery庫*/
//第1步:讀取a中的數(shù)值,并按逗號分割成數(shù)組
var?a?=?$('#a').html().split(',');
//第2步:遍歷數(shù)組,勾選與數(shù)組值相同的復(fù)選框
$.each(a,?function(index,?item){
$('input[value='+item+']').attr('checked',?true);
});
/*原生JS的寫法,需IE9及以上瀏覽器*/
//第1步:讀取a中的數(shù)值,并按逗號分割成數(shù)組
var?a?=?document.getElementById('a').innerText.split(',');
//第2步:遍歷數(shù)組,勾選與數(shù)組值相同的復(fù)選框
a.forEach(function(item,?index,?arr){
var?input?=?document.querySelectorAll('input[value="'+item+'"]');
for(var?n=0;ninput.length;n++){
input[n].checked?=?'checked';
}
});
table width="100%" border="0" cellspacing="0" cellpadding="0"
tr
tdinput class="in" name="check[]" type="checkbox" value="1" id="id1" //td
td1/td
td待財(cái)務(wù)初審/td
td通用機(jī)打發(fā)票/td
td1/td
td否/td
td/td
td........./td
/tr
tr
tdinput class="in" name="check[]" type="checkbox" value="2" id="id2" //td
td1/td
td待財(cái)務(wù)初審/td
td通用機(jī)打發(fā)票/td
td2/td
td否/td
td/td
td........./td
/tr
tr
tdinput class="in" name="check[]" type="checkbox" value="3" id="id3" //td
td1/td
td待財(cái)務(wù)初審/td
td通用機(jī)打發(fā)票/td
td11/td
td是/td
td/td
td........./td
/tr
/table
input id="butt" type="button" value="按鈕" /
script
$(function(){
$("#butt").click(function(){
var d=[];
var i=1;
$("input[class=in]:checked").each(function(){
var t=$(this).val();
var htm=$("#id"+t).parents("tr").children("td");
d.push(htm.eq(2).html()+htm.eq(3).html()+htm.eq(5).html()+htm.eq(6).html());
i++;
});
alert(GetUnique(d));
});
function GetUnique(inputArray){
var outputArray=[];
for(var i=0;iinputArray.length;i++){
if((jQuery.inArray(inputArray[i],outputArray))==-1){
outputArray.push(inputArray[i]);
}
}
return outputArray;
}
});
/script
______________________________________
上面只是根據(jù)你的說明寫出來的例子,具體的還要看你的html布局
根據(jù)你說的,我建議你使用異步的方法做會比較簡單和方便。
元素 都是對象, 不能直接比較是否相等
因?yàn)樵氐膶ο笥泻芏鄬傩? 2個(gè)value一模一樣的元素 因?yàn)樵赿om流中所處的位置不同, 那么他的top left 等屬性也不相同, 即使元素是重疊的, 那么元素的Z-INDEx也是不同的.
總之 一個(gè)頁面中不存在2個(gè)一模一樣的元素. 所以只能判斷元素的某個(gè)屬性是否相同 而不能判斷 兩個(gè)元素是否相同.
[attribute*=value] 選擇器選取每個(gè)帶有指定屬性且值包含指定字符串的元素。
語法
$("[attribute*='value']")
參數(shù)
描述
attribute 必需。規(guī)定要查找的屬性。
value 必需。規(guī)定值要包含的字符串。
$("input[value*='xxxxxx']")