使用恒等(===)判断(值与类型都一致)
目前创新互联公司已为超过千家的企业提供了网站建设、域名、网站空间、网站改版维护、企业网站设计、城子河网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
如果用用等同(==)判断(值一致)的话有误判情况
var a = "1"; //字符串1
var b = 1; //数值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
根据你的需求,我写了两段代码(分使用jQuery和原生JS描述),请参考:
/*使用jQuery的写法,需先引入jQuery库*/
//第1步:读取a中的数值,并按逗号分割成数组
var a = $('#a').html().split(',');
//第2步:遍历数组,勾选与数组值相同的复选框
$.each(a, function(index, item){
$('input[value='+item+']').attr('checked', true);
});
/*原生JS的写法,需IE9及以上浏览器*/
//第1步:读取a中的数值,并按逗号分割成数组
var a = document.getElementById('a').innerText.split(',');
//第2步:遍历数组,勾选与数组值相同的复选框
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待财务初审/td
td通用机打发票/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待财务初审/td
td通用机打发票/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待财务初审/td
td通用机打发票/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
______________________________________
上面只是根据你的说明写出来的例子,具体的还要看你的html布局
根据你说的,我建议你使用异步的方法做会比较简单和方便。
元素 都是对象, 不能直接比较是否相等
因为元素的对象有很多属性 2个value一模一样的元素 因为在dom流中所处的位置不同, 那么他的top left 等属性也不相同, 即使元素是重叠的, 那么元素的Z-INDEx也是不同的.
总之 一个页面中不存在2个一模一样的元素. 所以只能判断元素的某个属性是否相同 而不能判断 两个元素是否相同.
[attribute*=value] 选择器选取每个带有指定属性且值包含指定字符串的元素。
语法
$("[attribute*='value']")
参数
描述
attribute 必需。规定要查找的属性。
value 必需。规定值要包含的字符串。
$("input[value*='xxxxxx']")