jquery 标签

IE不支持textarea的maxlength属性解决办法

  |   0 评论   |   87 浏览

首先看一下HTML代码,我们定义一个textarea标签并绑定onkeydown事件:

<textarea id="NOTE"  maxlength="500" onkeydown="checklength(this);"></textarea>

然后看一下javascript代码,每次触发该方法时取得文本域字符长度,如果超出则减去最后一个字符并返回:

// maxlength兼容IE处理
var checklength = function() {
     var obj = $("#NOTE");
     var max = obj.attr("maxlength");
     if (max == null || max == "" || max == undefined) {
          return;
     }
     if (obj.val().length > max) {
          obj.val(obj.val().substring(0, (max - 1)));
          return;
     }
};

在每个textarea的onkeydown事件绑定该方法即可。

 

jquery 中eq和get区别与联系

  |   0 评论   |   105 浏览

首先我们来看HTML代码:

<ul>
<li>百度</li>
<li>新浪</li>
<li>雅虎</li>
<li>腾讯</li>
</ul>

这是一段非常简单的html代码,其中包含了一个ul标签和多个li标签。

再来看一下javascript代码:

$("document").ready(function(){
    alert($("li:eq(0)"));
    alert($("li").get(0));
})

返回结果分别为:[object Object]和[object HTMLLIElement]
由此可知,eq返回的是一个jquery对象,get返回的是一个html 对象数组。

使用eq来获得第一个li标签的color值,继续看代码:

$("li").eq(0).css("color") 
//因为eq(num)返回的是个jq对象,所以可以用jq的方法css

使用get来获得第一个li标签的color值:

$("li").get(0).style.color 
//因为get(num)返回的是个html对象,所以要使用传统的HTML对象方法,jq对象此时就没用了。

当然,你也可以get(num)后把对象转为jq的对象再进行操作:

$($("li").get(0)).css("color")

由此我们知道,由eq返回的jquery对象,我们可以直接使用jquery的方,如.css(),.html()等,而由get返回的是html数组对象要使用传统的HTML对象方法或者转换成jquery对象后再操作。

可以用eq的地方建议使用eq来取得jquery对象,可以有效减少代码量。

Web输入域通用复位方法

  |   0 评论   |   83 浏览

在web开发中,我们经常会遇到重置所有输入框的情况。

比如在查询时,会给用户提供一个“重置”按钮来清空所有输入框内的输入的文本。

这时使用jquery就可以统一清空(复位)。

// 复位查询条件输入域
function restInputArea(object){
    // 清空文本框
    $("#"+object).find('input[type="text"]').each(function(){
        $(this).val("");
    });
    // 复位下拉菜单
    $("#"+object).find('select').each(function(){
        $(this).find('option:first-child').attr('selected',"selected");
    });
};

 

上述代码使用了jquery选择器取得了整个输入框的父级元素,

并使用find找到该元素下的所有input与select输入框。

还可以继续扩展,比如textarea标签等等。