高分求!! 一段简单的js判断代码。
示例:<script>functionabc(){if(document.getElementById("id1").innerHTML.length==0){docum...
示例:
<script>
function abc(){
if(document.getElementById("id1").innerHTML.length==0)
{
document.getElementById("id1").parentNode.className="nu";
}
}
window.onload=abc;
</script>
这段代码是判断当id1内容为空时,父元素样式变为“nu”。
现在要求多个id情况下的判断代码
比如说要判断“id1”到“id100”共100个元素中所有内容为空的元素,使其父元素样式变为“nu”
代码怎样写?? 展开
<script>
function abc(){
if(document.getElementById("id1").innerHTML.length==0)
{
document.getElementById("id1").parentNode.className="nu";
}
}
window.onload=abc;
</script>
这段代码是判断当id1内容为空时,父元素样式变为“nu”。
现在要求多个id情况下的判断代码
比如说要判断“id1”到“id100”共100个元素中所有内容为空的元素,使其父元素样式变为“nu”
代码怎样写?? 展开
4个回答
展开全部
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<script>
function ccc(){
var a = document.getElementsByTagName("li");
//var a = document.getElementsByName("aaa");
var len = a.length;
for(var i=0;i<len;i++){
if(a[i].innerHTML.length==0){
a[0].parentNode.className = "nu";
}
}
alert(a.length);
}
window.onload=ccc();
</script>
有些地方自己修改一下吧,反正是这个思路
<li>2</li>
<li>3</li>
<li>4</li>
<script>
function ccc(){
var a = document.getElementsByTagName("li");
//var a = document.getElementsByName("aaa");
var len = a.length;
for(var i=0;i<len;i++){
if(a[i].innerHTML.length==0){
a[0].parentNode.className = "nu";
}
}
alert(a.length);
}
window.onload=ccc();
</script>
有些地方自己修改一下吧,反正是这个思路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置一个变量判断一下是否为NLL不就行了
for ( flag = 1 ; flag <= 100 ; flag ++){
var divTest = document.getElementById("id"+flag);
if(divTest!=null){
alert(divTest.innerHTML);
if(divTest.innerHTML.length==0)
{
divTest.parentNode.className="nu";
}
}
}
for ( flag = 1 ; flag <= 100 ; flag ++){
var divTest = document.getElementById("id"+flag);
if(divTest!=null){
alert(divTest.innerHTML);
if(divTest.innerHTML.length==0)
{
divTest.parentNode.className="nu";
}
}
}
追问
有个小问题请教一下
divTest!=null和divTest!==true有什么区别呢?
本例中,
我自己写的判断是if(divTest!==true),代码运行后无效。
用你的divTest!=null来判断,代码运行正常。
感觉本例中应该都可以的啊?
想不明白为什么,能告诉我原因吗?回答后马上给你采纳!!
追答
if(divTest!==null) 也可以写成if(divTest)
因为null 会被解析成bool值false,反之为true
但不能将对象与bool值直接比较,需要进行转换,否则值永远为false
例如改成 if(new Boolean(divTest)==true), 这样就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for ( var flag = 1 ; flag <= 100 ; flag ++){
alert(document.getElementById("id"+flag).innerHTML);
if(document.getElementById("id"+flag).innerHTML.length==0)
{
document.getElementById("id"+flag).parentNode.className="nu";
}
}
alert(document.getElementById("id"+flag).innerHTML);
if(document.getElementById("id"+flag).innerHTML.length==0)
{
document.getElementById("id"+flag).parentNode.className="nu";
}
}
追问
运行错误 提示缺少对象
因为我的代码中对象id不是id1-100,而是id1,id3,id6,id15这种形式,并不是整齐的1-100,只是“id”两个字母后边跟随一组不固定的数字,可能是因为这样,所以运行时出错,怎样处理这个问题呢?应该怎样判断呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
外面加个for循环不就是了嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询