高分,求教怎么判断一个Label可见不可见

时间:2023-02-01 09:29:39
问题是这样的,我在Asp.net 有个Label控件<asp:Label name="qq" Runat="server"  value=<%# GetGuestQQ(DataBinder.Eval(Container.DataItem,"UserName").ToString())%>>请QQ联系</asp:Label>,然后在后台绑定,最后显示的结果,比例
   <asp:Label name="qq" Runat="server"  value="">请QQ联系</asp:Label>
      <asp:Label name="qq" Runat="server"  value="175989803">请QQ联系</asp:Label>
      <asp:Label name="qq" Runat="server"  value="175989803">请QQ联系</asp:Label>
      <asp:Label name="qq" Runat="server"  value="">请QQ联系</asp:Label>
      等等,行数时刻在变的,我现在要value=""这些不可见,我用JS该怎么做??

14 个解决方案

#1


这样?
var qq = document.getElementsByName("qq");
for(i=0;i<qq.length;i++)
   if(qq[i].value == "")
       qq.style.display = "none";

#2


ice_berg16(寻梦的稻草人)
-----------------------------
 不行啊

#3


我通过alert(qq.length);怎么qq.length等于0呢??

#4


我查了下手册,HTML这一元素并没有NAME属性:
<LABEL
ACCESSKEY=key
CLASS=classname
DATAFLD=colname
DATAFORMATAS=HTML | TEXT
DATASRC=#ID
FOR=ID
ID=value
LANG=language
LANGUAGE=JAVASCRIPT | JSCRIPT | VBSCRIPT | VBS 
STYLE=css1-properties
TITLE=text
event = script
>
楼主可试试设置ID,再进行相关操作

#5


var qq = document.getElementsByTagName("LABEL");
for(i=0;i<qq.length;i++)
   if(qq[i].name == "qq" && qq[i].value == "")
       qq.style.display = "none";

#6


我也遇到过象你这样的问题,就是说去length值为0
而且明明赋值了却取道的值为空

#7


晕,asp.net的server端label控件在运行的时候,生成的是span ,不是label
这个细节都忽略了?

#8


LifeForCode(用生命编程.重生(2006)) 
-----------------------------------------------
说的是,确实是生成了span,那该怎么做呢??有人知道!!

#9


那看一下生成后的代码,对照一下
如果name不是qq改一下对应的

var qq = document.getElementsByTagName("SPAN");
for(i=0;i<qq.length;i++)
   if(qq[i].name == "qq" && qq[i].value == "")
       qq.style.display = "none";

#10


ice_berg16(寻梦的稻草人)
在吗??

#11


ice_berg16的方法应该可以了,
这是遍历整个document的span元素。
也可以给这些label所在的那个td指定个id,只在这个td里面遍历。
反正这个思想是一样的啦

#12


LifeForCode(用生命编程.重生(2006)) 
-------------------------
能不能给个例子!!

#13


假设那些qq的label都放在id为tdQQ的td里面

  //ice_berg16(寻梦的稻草人)的第一句代码改成
  var qq = document.getElementById("tdQQ").getElementsByTagName("SPAN");
  //下面for循环的是一样
  //这样效率会好些,因为你的页面可能会有很多span,避免获取不必要的元素

#14


噢!ice_berg16的最后一句代码有疏忽:漏了下标啦
qq[i].style.display = "none";

#1


这样?
var qq = document.getElementsByName("qq");
for(i=0;i<qq.length;i++)
   if(qq[i].value == "")
       qq.style.display = "none";

#2


ice_berg16(寻梦的稻草人)
-----------------------------
 不行啊

#3


我通过alert(qq.length);怎么qq.length等于0呢??

#4


我查了下手册,HTML这一元素并没有NAME属性:
<LABEL
ACCESSKEY=key
CLASS=classname
DATAFLD=colname
DATAFORMATAS=HTML | TEXT
DATASRC=#ID
FOR=ID
ID=value
LANG=language
LANGUAGE=JAVASCRIPT | JSCRIPT | VBSCRIPT | VBS 
STYLE=css1-properties
TITLE=text
event = script
>
楼主可试试设置ID,再进行相关操作

#5


var qq = document.getElementsByTagName("LABEL");
for(i=0;i<qq.length;i++)
   if(qq[i].name == "qq" && qq[i].value == "")
       qq.style.display = "none";

#6


我也遇到过象你这样的问题,就是说去length值为0
而且明明赋值了却取道的值为空

#7


晕,asp.net的server端label控件在运行的时候,生成的是span ,不是label
这个细节都忽略了?

#8


LifeForCode(用生命编程.重生(2006)) 
-----------------------------------------------
说的是,确实是生成了span,那该怎么做呢??有人知道!!

#9


那看一下生成后的代码,对照一下
如果name不是qq改一下对应的

var qq = document.getElementsByTagName("SPAN");
for(i=0;i<qq.length;i++)
   if(qq[i].name == "qq" && qq[i].value == "")
       qq.style.display = "none";

#10


ice_berg16(寻梦的稻草人)
在吗??

#11


ice_berg16的方法应该可以了,
这是遍历整个document的span元素。
也可以给这些label所在的那个td指定个id,只在这个td里面遍历。
反正这个思想是一样的啦

#12


LifeForCode(用生命编程.重生(2006)) 
-------------------------
能不能给个例子!!

#13


假设那些qq的label都放在id为tdQQ的td里面

  //ice_berg16(寻梦的稻草人)的第一句代码改成
  var qq = document.getElementById("tdQQ").getElementsByTagName("SPAN");
  //下面for循环的是一样
  //这样效率会好些,因为你的页面可能会有很多span,避免获取不必要的元素

#14


噢!ice_berg16的最后一句代码有疏忽:漏了下标啦
qq[i].style.display = "none";