jquery中当text文本框为空时,button按钮是disabled状态,否则为enable状态

<html>

<input type="text" id='t1' onkeyup="myText()"></input>
<input type="button" id='btn' disabled="disabled" value="提交"></input>

</html>


<script>

 $(document).ready(function(){
  $('#t1').keyup(function(){
    var v=$('#t1').val();
    if(!v){
      $('#btn').attr('disabled', true) 
    }
    else{
     $('#btn').attr('disabled', false)
    }
  });
});

</script>


用on事件替换:

 $(document).ready(function(){
  $('#t1').on('keyup', function(){
    var v=$('#t1').val();
    if(!v){
      $('#btn').attr('disabled', true) 
    }
    else{
     $('#btn').attr('disabled', false)
    }
  });
});


注:attr()

用法一: $(选择器).attr(属性名) 它的作用就是获取指定元素( $(选择器)部分 )的指定属性的值. 看例子:

有这样一段html:

 

<img src=“http://t.douban.com/lpic/s3791510.jpg” alt=“变形金刚海报” width=“500″ height=“300″ />

 

那么你要获取到图片的地址该怎么办呢? 这样: $(”img”).attr(”src”) 就这么简单, 你用alert或者其它形式输出一下就看到图片的地址了. 那么我要取得图片的描述呢? 这样: $(”img”).attr(”alt”) .够简单吧. 它不但可以取到html本身有的属性, 而且也能取到你自己定义的属性, 比如上例中的 funny属性, 自己试试能不能获取到它的值. 注意: 如果你要获取的属性是不存在的, 那么jquery就会返回一个 undefined .

用法二: $(选择器).attr(属性名, 属性值) 它的作用是为所有匹配的元素设置一个属性值。

假如页面中有一堆这样的html:

 

<img /><img />

 

我们写一句这样的jquery代码: $(”img”).attr(”src”,”http://t.douban.com/lpic/s3791510.jpg”) 这样上面一堆无意义的img标签就变成了:

 

<img src=“http://t.douban.com/lpic/s3791510.jpg” /><img src=“http://t.douban.com/lpic/s3791510.jpg” />

 

很容易理解吧. 假如我们想给图片设置高度,那么只要 $(”img”).attr(”height”,”300″) . 再要设置宽度就这样: $(”img”).attr(”width”,”500″) . 如此看来是没有什么问题, 但是当要设置多个属性时, 一个一个的这样写真是太麻烦了, 那么我们来看第三个用法.

用法三: $(选择器).attr(Map) 它的意思就是给指定元素设置多个属性值, 我们重点看一下 Map 是什么意思. 它其实是这样一种序列:

{属性名一: “属性值一” , 属性名二: “属性值二” , … … }

那么我要实现用法二中的例子只要这样写:

$(“img”).attr({src:“http://t.douban.com/lpic/s3791510.jpg” , height: “300″ , width : “500″})

以上我们学会了获取属性值, 设置属性值, 那么怎么删除属性呢?

jquery中删除属性的关键词是: removeAttr 注意A是大写的. 看看怎么用的:

同样是用法一中的html代码, 我想删掉图片的高度属性, 那么就这样:

$(“img”). removeAttr(“height”);

嗯,就这么简单.  attr 其实就是原生js中 getAttribute 的简化实现, 而removeAttr 就是 removeAttribute 的简写了
 一、获取<ul>里第2个<li>设置id。
<script>
$("ul li:eq(1)").attr({id:"lili"});
</script>
变成:<ul><li id="lili" alt="123" title="111"></li></ul>
 
二、获取<ul>里第2个<li>设置style。
<script>
$("ul li:eq(1)").attr({style:"color:red"});
</script>
变成:<ul><li style="color:red;" alt="123" title="111"></li></ul>

三、获取<ul>里第2个<li>设置class。
<script>
$("ul li:eq(1)").attr({className:"lili"});
</script>
变成:<ul><li class="lili" alt="123" title="111"></li></ul>

那么是否有跟attr()相似的属性呢?
jquery中val()与之类似,
$(this).val();获取某个元素节点的value值,相当于$(this).attr("value");
$(this).val(value);设置某个元素节点的value值,相当于$(this).attr("value",value);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章