document.getElementByClassName("classname")是原生JS吗?

需求:比较税前薪资是否在薪资范围内,超过范围则薪资输出变红色。

 

vo里面加了变量redFlag用于判断一条记录是否超过范围,是否变红。但是在jsp页面中由于封装的标签,修改css没有用。

 

想到用js动态改变颜色。但是tb:gridColumn标签只能加styleClass属性

<!-- added by wang.yanlong 2015-04-17 超过税前薪酬上限变红1红0黑-->

<logic:equal value="1" name="stdHeadcountDetailVO" property="redFlag">

<tb:gridColumn property="salaryBefore" label="税前薪酬" styleClass="dragon" />

</logic:equal>

<logic:equal value="0" name="stdHeadcountDetailVO" property="redFlag">

<tb:gridColumn property="salaryBefore" label="税前薪酬" />

</logic:equal>

<!-- end -->

渲染的html是:<td class="dragon "><span class="view" style="display:block;">2800</span></td>

 

如何通过class属性得到对象再改变里面span标签的style属性呢。

1.通过class属性得到对象。

2.找到span对象,改变style属性。

//js变红added by wang.yanlong 2015-04-17,

//这个方法 第一个参数 需要传入 获取class类的父节点  

//第二个参数就是你传入的class名字

//返回的是所有class属性同名的对象数组。

function getByClass(oParent, sClass)

{

        var aEle=oParent.getElementsByTagName('*');

        var aResult=[];

        var re=new RegExp('\\b'+sClass+'\\b', 'i');

        var i=0;

        

        for(i=0;i<aEle.length;i++)

        {

                if(re.test(aEle[i].className))

                {

                        aResult.push(aEle[i]);

                }

        }

        

        return aResult;

}

var wz=getByClass(document,'dragon');

//遍历所有class="dragon"的td对象。找到第一个子节点span,改变style的颜色为red.

for(var i = 0 ; i < wz.length; i++){

alert(wz[i].firstChild.style.color);

wz[i].firstChild.style.color='red';

}

//end

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值