Skip to content

{ Tag Archives } jQuery

jQuery Tab

FROM: jQuery idTabs

推荐一 jQuery 实现 Tab 的插件,代码很简短,而且调用也非常简单。head 加上:

<script type="text/javascript" src="jquery.idTabs.min.js"></script>

class="idTabs" element 中,任何<a href="#tabs">以这种形式调用,被点击时都会显示对应 id="tab" element 中的内容。如下:

<ul class="idTabs">
  <li><a href="#jquery">jQuery</a></li>
  <li><a href="#official">Tabs 3</a></li>
</ul>
<div id="jquery">If you haven't checked out ...</div>
<div id="official">idTabs is only a simple ...</div>

demo

Also tagged

跳出.each()

$.each(objs, function(i, n) {
    if(n.attr('checked') == true) {
        return false;
    }
});

return false 跳出 jQuery .each().

换到新的公司后,有专门的前端工程师,以至于之前知道的 JS 也都忘记。而最近做内部沟通系统时,一切需要自己实现,才又捡起来。

Also tagged

jQuery 表格插件汇总

jQuery 表格插件汇总

Also tagged

hoverIntent 鼠标事件插件

hoverIntent jQuery Plugin

Also tagged ,

用于jQuery Ajax调用时显示加载进度

function show(tips){
	var mainColor = "#369";
	//创建一个div对象(背景层)
	var bgObj = document.createElement("div");
	bgObj.setAttribute("id","tips_a");
	document.body.appendChild(bgObj);
	bgObj.style.position = "absolute";
	bgObj.style.zIndex = "9998";
	bgObj.style.background = "#777";
	bgObj.style.filter = "alpha(opacity=50)";
	bgObj.style.opacity = "0.5";
	bgObj.style.top = "0";
	bgObj.style.left = "0";
	bgObj.style.width = document.documentElement.scrollWidth + "px";
	bgObj.style.height = document.documentElement.scrollHeight + "px";
	//创建一个div对象(提示框)
	var tsObj = document.createElement("div");
	tsObj.setAttribute("id","tips_b");
	document.body.appendChild(tsObj);
	tsObj.style.position = "absolute";
	tsObj.style.zIndex = "9999";
	tsObj.style.background = "#fff";
	tsObj.style.border = "1px solid " + mainColor;
	tsObj.style.textAlign = "center";
	//创建一个h4对象(标题栏/关闭)
	var cls = document.createElement("h4");
	cls.setAttribute("id","tips_t");
	document.getElementById("tips_b").appendChild(cls);
	cls.style.textAlign = "right";
	cls.style.margin = "0";
	cls.style.padding = "5px";
	cls.style.background = mainColor;
	//创建一个span对象(关闭×)
	var cls_gb = document.createElement("span");
	document.getElementById("tips_t").appendChild(cls_gb);
	cls_gb.style.color = "#fff";
	cls_gb.style.font = "12px 宋体";
	cls_gb.style.cursor = "pointer";
	cls_gb.innerHTML = "×";
	cls_gb.onclick = hide;
	//创建一个div对象(提示信息)
	var strObj = document.createElement("div");
	document.getElementById("tips_b").appendChild(strObj);
	strObj.style.padding = "15px 30px";
	strObj.style.font = "12px 宋体";
	strObj.style.lineHeight = "21px";
	strObj.innerHTML = tips;
	//创建一个input对象(提示框按钮/关闭)
	var btn = document.createElement("input");
	btn.setAttribute("type","button");
	btn.setAttribute("value","关闭");
	document.getElementById("tips_b").appendChild(btn);
	btn.style.border = 0;
	btn.style.color = "#fff";
	btn.style.background = mainColor;
	btn.style.margin = "0 15px 15px 15px";
	btn.style.padding = "0 8px";
	btn.onclick = hide;
	//定位提示层top/left
	tsObj.style.top = document.documentElement.scrollTop + (document.documentElement.clientHeight -
tsObj.clientHeight)/2 + "px";
	tsObj.style.left = (document.documentElement.clientWidth - tsObj.clientWidth)/2 + "px";
//删除提示层
	function hide(){
		document.getElementById("tips_t").removeChild(cls_gb);//删除标题栏里面的关闭×
		document.getElementById("tips_b").removeChild(cls);//删除提示框里面的标题栏
		document.getElementById("tips_b").removeChild(strObj);//删除提示框里面的提示信息
		document.getElementById("tips_b").removeChild(btn);//删除提示框里面的关闭按钮
		document.body.removeChild(tsObj);//删除提示框
		document.body.removeChild(bgObj);//删除背景层
	}
}
//创建一个div对象(背景层)
var bgObj = document.createElement("div");
//创建一个div对象(提示框)
var tsObj = document.createElement("div");
//创建一个div对象(提示信息)
var strObj = document.createElement("div");
//弹出提示层背景变灰不可操作
function showloading(){
	var mainColor = "#369";
	bgObj.setAttribute("id","tips_a");
	document.body.appendChild(bgObj);
	bgObj.style.position = "absolute";
	bgObj.style.zIndex = "9998";
	bgObj.style.background = "#777";
	bgObj.style.filter = "alpha(opacity=50)";
	bgObj.style.opacity = "0.5";
	bgObj.style.top = "0";
	bgObj.style.left = "0";
	bgObj.style.width = document.documentElement.scrollWidth + "px";
	bgObj.style.height = document.documentElement.scrollHeight + "px";
	tsObj.setAttribute("id","tips_b");
	document.body.appendChild(tsObj);
	tsObj.style.position = "absolute";
	tsObj.style.zIndex = "9999";
	tsObj.style.background = "#fff";
	tsObj.style.border = "1px solid " + mainColor;
	tsObj.style.textAlign = "center";
	document.getElementById("tips_b").appendChild(strObj);
	strObj.style.padding = "15px 30px";
	strObj.style.font = "12px 宋体";
	strObj.style.lineHeight = "21px";
	strObj.innerHTML = '<div>正在进行后台操作,请耐心等待……</div>
    <img border="0" src="http://www.livingelsewhere/images/p4p_loading.gif" />';
	//定位提示层top/left
	tsObj.style.top = document.documentElement.scrollTop + (document.documentElement.clientHeight -
tsObj.clientHeight)/2 + "px";
	tsObj.style.left = (document.documentElement.clientWidth - tsObj.clientWidth)/2 + "px";
}
//删除提示层
function hideloading(){
	$("#tips_b").remove();
	$("#tips_a").remove();
}

调用:

$(window).ajaxStart(function(){
    showloading();
});
$(window).ajaxStop(function(){
    hideloading();
Also tagged ,

jQuery 选择器

1 基础选择器

名称

说明

举例

#id

根据元素Id选择

$("divId")选择ID为divId的元素

element

根据元素的名称选择,

$("a")选择所有<a>元素

.class

根据元素的css类选择

$(".bgRed")选择所用CSS类为bgRed的元素

*

选择所有元素

$("*")选择页面所有元素

selector1,
selector2,
selectorN

可以将几个选择器用","分隔开然后再拼成一个选择器字符串.会同时选中这几个选择器匹配的内容.

$("#divId,a,.bgRed")

2 层次选择器

名称

说明

举例

ancestor descendant

使用”form input”的形式选中form中的所有input元素.即ancestor(祖先)为from,descendant(子孙)为input.

$(“.bgRed div”)选择CSS类为bgRed的元素中的所有<div>元素.

parent>child

选择parent的直接子节点child.child必须包含在parent中并且父类是parent元素.

$(“.myList>li”)选择CSS类为myList元素中的直接子节点<li>对象.

prev+next

prev和next是两个同级别的元素.选中在prev元素后面的next元素.

$(“#hibiscus+img”)选在id为hibiscus元素后面的img对象.

prev~siblings

选择prev后面的根据siblings过滤的元素
注:siblings是过滤器

$(“#someDiv~[title]“)选择id为someDiv的对象后面所有带有title属性的元素

3 基本过滤器

名称

说明

举例

:first

匹配找到的第一个元素

查找表格的第一行:$(“tr:first”)

:last

匹配找到的最后一个元素

查找表格的最后一行:$(“tr:last”)

:not(selector)

去除所有与给定选择器匹配的元素

查找所有未选中的input元素:$(“input:not(:checked)”)

:even

匹配所有索引值为偶数的元素,从0开始计数

查找表格的1、3、5…行:$(“tr:even”)

:οdd

匹配所有索引值为奇数的元素,从0开始计数

查找表格的2、4、6行:$(“tr:odd”)

:eq(index)

匹配一个给定索引值的元素
注:index从0开始计数

查找第二行:$(“tr:eq(1)”)

:gt(index)

匹配所有大于给定索引值的元素
注:index从0开始计数

查找第二第三行,即索引值是1和2,也就是比0大:$(“tr:gt(0)”)

:lt(index)

选择结果集中索引小于N的elements
注:index从0开始计数

查找第一第二行,即索引值是0和1,也就是比2小:$(“tr:lt(2)”)

:header

选择所有h1,h2,h3一类的header标签.

给页面内所有标题加上背景色:$(“:header”).css(“background”,”#EEE”);

:animated

匹配所有正在执行动画效果的元素

只有对不在执行动画效果的元素执行一个动画特效:

$(“#run”).click(function(){
$(“div:not(:animated)”).animate({left:”+=20″},1000);
});

4 内容过滤器

名称

说明

举例

:contains(text)

匹配包含给定文本的元素

查找所有包含”John”的div元素:$(“div:contains(‘John’)”)

:empty

匹配所有不包含子元素或者文本的空元素

查找所有不包含子元素或者文本的空元素:$(“td:empty”)

:has(selector)

匹配含有选择器所匹配的元素的元素

给所有包含p元素的div元素添加一个text类:$(“div:has(p)”).addClass(“test”);

:parent

匹配含有子元素或者文本的元素

查找所有含有子元素或者文本的td元素:$(“td:parent”)

可见性过滤器

名称

说明

举例

:hidden

匹配所有的不可见元素

注:在1.3.2版本中,hidden匹配自身或者父类在文档中不占用空间的元素.如果使用CSSvisibility属性让其不显示但是占位,则不输入hidden.

查找所有不可见的tr元素:$(“tr:hidden”)

:visible

匹配所有的可见元素

查找所有可见的tr元素:$(“tr:visible”)

6 属性过滤器

名称

说明

举例

[attribute]

匹配包含给定属性的元素

查找所有含有id属性的div元素:
$(“div[id]“)

[attribute=value]

匹配给定的属性是某个特定值的元素

查找所有name属性是newsletter的input元素:
$(“input[name='newsletter']“).attr(“checked”,true);

[attribute!=value]

匹配给定的属性是不包含某个特定值的元素

查找所有name属性不是newsletter的input元素:
$(“input[name!='newsletter']“).attr(“checked”,true);

[attribute^=value]

匹配给定的属性是以某些值开始的元素

$(“input[name^='news']“)

[attribute$=value]

匹配给定的属性是以某些值结尾的元素

查找所有name以’letter’结尾的input元素:
$(“input[name$='letter']“)

[attribute*=value]

匹配给定的属性是以包含某些值的元素

查找所有name包含’man’的input元素:
$(“input[name*='man']“)

[attributeFilter1][attributeFilter2][attributeFilterN]

复合属性选择器,需要同时满足多个条件时使用。

找到所有含有id属性,并且它的name属性是以man结尾的:
$(“input[id][name$='man']“)

7 子元素过滤器

名称

说明

举例

:nth-child(index/even/odd/equation)

匹配其父元素下的第N个子或奇偶元素

‘:eq(index)’只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从1开始的,而:eq()是从0算起的!

可以使用:
nth-child(even)
:nth-child(odd)
:nth-child(3n)
:nth-child(2)
:nth-child(3n+1)
:nth-child(3n+2)

在每个ul查找第2个li:
$(“ulli:nth-child(2)”)

:first-child

匹配第一个子元素

‘:first’只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

在每个ul中查找第一个li:
$(“ulli:first-child”)

:last-child

匹配最后一个子元素

‘:last’只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

在每个ul中查找最后一个li:
$(“ulli:last-child”)

: οnly-child

如果某个元素是父元素中唯一的子元素,那将会被匹配

如果父元素中含有其他元素,那将不会被匹配。

在ul中查找是唯一子元素的li:
$(“ulli:only-child”)

8 表单选择器

名称

说明

解释

:input

匹配所有input,textarea,select和button元素

查找所有的input元素:
$(“:input”)

:text

匹配所有的文本框

查找所有文本框:
$(“:text”)

:password

匹配所有密码框

查找所有密码框:
$(“:password”)

:radio

匹配所有单选按钮

查找所有单选按钮

:checkbox

匹配所有复选框

查找所有复选框:
$(“:checkbox”)

:submit

匹配所有提交按钮

查找所有提交按钮:
$(“:submit”)

:image

匹配所有图像域

匹配所有图像域:
$(“:image”)

:reset

匹配所有重置按钮

查找所有重置按钮:
$(“:reset”)

:button

匹配所有按钮

查找所有按钮:
$(“:button”)

:file

匹配所有文件域

查找所有文件域:
$(“:file”)

Also tagged

jQuery 操作下拉列表框

<select name="select1" id="select1" size="10">
    <option value="1">Option1</option>
    <option valeu="2">Option2</option>
    <option value="3">Option3</option>
    <option value="4">Option4</option>
</select>

1 取得 jQuery 对象

obj = $('#select1');

2 取得Options 的长度

len = $('#select1 option').length

3 遍历 option

for (var i = 0; i < len; i++) {
    option_value = obj[0].options[i].value;
    option_text = obj[0].options[i].text;
}

4 取得所选值

obj_value = $('#select1').val();

5 取得所选值对应的text

obj_text = obj[0].options[obj[0].selectedIndex].text;

6 添加一个option

obj.append('<option value="5">Option5</option>');

7 删除一个option

$('#select1 option[value="1"]').remove();
Also tagged

jQuery获取textarea, text, radio, checkbox, select值

FROM: JQUERY获取text,areatext,radio,checkbox,select值

获取值

  • 文本框, 文本区域 $("#txt").attr("value");
  • 多选框 checkbox $("#checkbox_id").attr("value");
  • 单选组 radio $("input[@type=radio][@checked]").val();
  • 下拉框 select $('#sel').val();
  • 获取一组 radio 被选中项的值 var item = $('input[@name=items][@checked]').val();
  • radio 单选组的第二个元素为当前选中值 $('input[@name=items]').get(1).checked = true;
  • 获取 select 被选中项的文本 var item = $("select[@name=items] option[@selected]").text();
  • select下拉框的第二个元素为当前选中值 $('#select_id')[0].selectedIndex = 1;

控制表单元素

文本框, 文本区域

$("#txt").attr("value",''); //清空内容
$("#txt").attr("value",'11'); //填充内容

多选框 checkbox

$("#chk1").attr("checked",''); //不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined) //判断是否已经打勾

单选组 radio

//设置value=2的项目为当前选中项
$("input[@type=radio]").attr("checked", '2');
下拉框 select
$("#sel").attr("value",'-sel3'); //设置 value=-sel3 的项目为当前选中项
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel") //添加下拉框的 option
$("#sel").empty();//清空下拉框

A 遍历 option 和添加, 移除option

function changeShipMethod(shipping) {
    var len = $("select[@name=ISHIPTYPE] option").length
    if(shipping.value != "CA") {
        $("select[@name=ISHIPTYPE] option").each(function() {
            if($(this).val() == 111) {
                $(this).remove();
            }
        });
    } else {
        $("<option value='111'>UPS Ground</option>").appendTo($("select[@name=ISHIPTYPE]"));
    }
}

B 取得下拉选项的值

$(#testSelect option:selected').text();
//or
$("#testSelect").find('option:selected').text();
//or
$("#testSelect").val();

补充部分

下拉框
var cc1 = $(".formc select[@name='country'] option[@selected]").text(); //得到下拉菜单的选中项的文本(注意中间有空格)
var cc2 = $('.formc select[@name="country"]').val(); //得到下拉菜单的选中项的值
var cc3 = $('.formc select[@name="country"]').attr("id"); //得到下拉菜单的选中项的ID属性值
$("#select").empty(); //清空下拉框//$("#select").html('');
$("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option

解释: select[@name='country'] option[@selected] 表示具有 name 属性, 并且该属性值为 country 的 select 元素里面的具有 selected 属性的 option 元素; @ 开头的就表示后面跟的是属性.

单选框
$("input[@type=radio][@checked]").val(); //得到单选框的选中项的值(注意中间没有空格)
$("input[@type=radio][@value=2]").attr("checked",'checked'); //设置单选框value=2的为选中状态.(注意中间没有空格)
复选框
$("input[@type=checkbox][@checked]").val(); //得到复选框的选中的第一项的值
$("input[@type=checkbox][@checked]").each(function(){ //由于复选框一般选中的是多个,所以可以循环输出
    alert($(this).val());
});

$("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined){} //判断是否已经打勾

很郁闷, 用 jQuery 选择勾选上的复选框, 竟然在FF3.5下跑不了~
以前有问题也只是IE
在FF下, 还真是第一次碰到~
查了下资料~
真是我写法有问题, 汗~

Also tagged

jQuery 表格效果代码

$(function() {
  $('.pickme tbody tr:odd').addClass('odd');
  $('.pickme tbody tr').hover(
    function() { $(this).addClass('highlight'); },
    function() { $(this).removeClass('highlight'); }
  ).click( function() {
    $('.selected').removeClass('selected');
    $(this).addClass('selected').find('input').attr('checked','checked');
  });
});
Also tagged

Prototype and jQuery are used in same time

<script language="javascript" type="text/javascript">var jQuery=$;</script>
<script language="javascript" type="text/javascript">jQuery.noConflict();</script>
Also tagged