扫码关注官方订阅号
span标签初始是空值,,,然后我想让span标签不为空的时候,另外一个按钮变色,,,怎么实现呢?
这个span不为空的时候这个span变色
ringa_lee
在你改变 #total 内容的地方,判断是否有值,动态设置你要变色的那个 span 的 class 或者 style 就可以实现了。
#total
https://jsfiddle.net/xan4h58e/
$(function(){ var $span=$('span'); $span.on('click',function(){ if($(this).html()!==''){ alert(1); $(this).html(''); }else{ alert(2); $(this).html('1111'); } }); });
是这意思么?
参考下面:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> span{padding: 10px 20px;background: #abcdef;} </style> </head> <body> <input type="text" id="txt"><input type="button" id="btn" value="添加"><br /><br /><br /><br /> <span id="total"></span><br /><br /><br /><br /> <span id="btnpay">确定</span> <script> var total=document.getElementById("total"), btnpay=document.getElementById("btnpay"), txt=document.getElementById("txt"), btn=document.getElementById("btn"); btn.onclick=function(){ total.innerHTML=txt.value; // 判断如果total中有值得时候,btnpay变颜色 if(total.innerHTML!=""){ btnpay.style.background="#f00" } } </script> </body> </html>
判断标签内容是否为空
var html = $('span').html(); if(html == null){ alert('空'); // 执行变色 }
至于按钮变色,我建议通过class,定义一个叫 .hide的class ,效果为按钮灰色。
<style> .hide{ background:??; } </style>
通过addClass 添加类、removeClass 删除类、 hasClass 判断是否存在类
// 当页面载入的时候 $(document).ready(function() { // 判断span标签是否为空的 if($('.total').html() == null){ // 如果是,就给你的pay按钮添加一个hide的class $('.btnpay').addClass('hide'); } }); // 接着你写一个hide的类,用来控制颜色,让按钮看着像是灰色就可以了。 // 至于移除这个class $('.btnpay').removeClass('hide');
了解了题主的意图,现在回答问题:
楼主想要通过某些输入控件,例如input等输入值,
span.total这里同步显示被输入的值,就像计算器键盘和显示器那样
这样的话,改变span.total颜色的源头就不是span.total是不是有值了,而是在你的输入控件的输入事件中做控制。例如:
input进行编辑(可以是输入可以是删除)
input的input事件中,处理:不管值为空与否,都同步值到span.total中去;如果当前input值不为空,设span#payBtn为颜色1,如果input值为空,设span#payBtn为颜色2
如果是css3的话选择器就可以支持了,要IE9才支持,如果不是,你还是要用js
p{background:#000;}/*不空*/ p:empty{height:25px;border:1px solid #ddd;background:#eee;} /*空*/
<p>结构性伪类选择符 E:empty</p> <p><!--我是一个空节点p,请注意我与其它非空节点p的外观有什么不一样--></p> <p>结构性伪类选择符 E:empty</p>
测试地址:https://jsfiddle.net/qkcoqpt4
可以参考css3手册
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在你改变
#total内容的地方,判断是否有值,动态设置你要变色的那个 span 的 class 或者 style 就可以实现了。https://jsfiddle.net/xan4h58e/
是这意思么?
参考下面:
判断标签内容是否为空
至于按钮变色,我建议通过class,定义一个叫 .hide的class ,效果为按钮灰色。
通过addClass 添加类、removeClass 删除类、 hasClass 判断是否存在类
更新答案
了解了题主的意图,现在回答问题:
楼主想要通过某些输入控件,例如input等输入值,
span.total这里同步显示被输入的值,就像计算器键盘和显示器那样
这样的话,改变span.total颜色的源头就不是span.total是不是有值了,而是在你的输入控件的输入事件中做控制。例如:
input进行编辑(可以是输入可以是删除)
input的input事件中,处理:不管值为空与否,都同步值到span.total中去;如果当前input值不为空,设span#payBtn为颜色1,如果input值为空,设span#payBtn为颜色2
如果是css3的话选择器就可以支持了,要IE9才支持,如果不是,你还是要用js
测试地址:https://jsfiddle.net/qkcoqpt4
可以参考css3手册