JQuery元素选择器简介

JQuery选择器($( ))可以用来选择,创建DOM元素。一般来说,过去我们使用JS去控制页面的DOM,比如下面这段JS:

<script type="text/javascript"> 
function test()
{
var frm = document.form1;
var tb = document.getElementById("tb1"); //获取表格对象
var trs = tb.getElementsByTagName("tr"); //获取所有的<tr>
//等等
}
</script>


使用WINDOW.document对象的getElementById或getElementsByTagName去获取页面里的DOM元素,而现在,我们可以使用$( ),让一切变的简洁与简单。

$( )使用类似CSS的语法格式,比如:

$("li") 选中页面中所有包含li元素的DOM。等同的,$("a")。选中所有连接。

或者我们可以根据DOM的ID来进行选择,比如:

$("#someDiv"),我们责选中了以下DIV:

<div id="someDiv">我是DIV,ID叫someDiv <tt>someDiv</tt></div>


我们还可以使用更强大的选择器,比如:

$(".someDiv")或$("DomName.className")如:$("ul.myList")我们可以选中拥有CSS类someDiv的元素。


比如我们还可以对以下HTML代码:

<div id="someDiv">我是DIV,ID叫someDiv <tt>someDiv</tt></div>


这样选择:$("#someDiv tt"),我们就可以取得 <tt>someDiv</tt> 这个DOM元素。

还可以获取Form表单,如有下HTML:

<form action="" method="put" onsubmit="return false;">
<div>
<label>Text:</label> <input type="text" id="aTextField" name="someTextField"/>
</div>

<button type="submit" id="submitButton">Submit</button>
</form>


用选择器:$("form #aTextField") 获取 <input type="text" id="aTextField" name="someTextField"/> 。

JQuery选择器非常强大,包括子选择器,容器选择器,特性选择器,而且JQuery选择器本身附带了许多不同的方法,我们可以查询JQuery文档。

JQuery的子选择器,一般来说,有如下HTML:

<ul class="myList">
<li><a href="http://jquery.com">jQuery supports</a>
<ul>
<li><a href="css1">CSS1</a></li>
<li><a href="css2">CSS2</a></li>
<li><a href="css3">CSS3</a></li>
<li>Basic XPath</li>
</ul>
</li>
<li>jQuery also supports
<ul>
<li>Custom selectors</li>
<li>Form selectors</li>
</ul>
</li>
</ul>


如果我们要选择 <li><a href="css1">CSS1</a></li> 这个DOM元素,怎么办?我们这样使用JQuery选择器:$(".myList li ul li a"),发现我们会选中所有ul下的li。这个时候我们可以使用子选择器来选定第一个li。如: $(".myList > li > a"),这里使用了符号">"。

而特性选择器:如$(form[method])会选择所有form中含有method的form。

选择器还可以按位置来选择,比如:$("form div label:first"),它可以帮我们选择第一个label。$("form div label:odd")选中为奇数的label。或者偶数$("form div label:even")的label。最后一个label,$(form div label:last)。

包括我们还可以使用$(input[type=radio]:checked),来选中radio被选中的元素。$(input[type=checkbox]:checked)来选中已经被选中的checkbox。

$(#languages tbody tr td:eq(2))这个选择器会选择第3个td。从0开始:

eq(n),选择第n个DOM元素;gt(n),选择除n以外的所有元素;lt(n),选择除n以外之前的所有DOM元素。

包括可以让JQUERY创建一个新页面:

<html>
<head>
<title></title>
<script type="text/javascript" src="scripts/jquery-1.2.1.js"></script>


<script type="text/javascript">
$(function(){
//add one div
$("<div class='foo'>I have foo!</div><div>I don 't</div>").appendTo("#someParentDiv");
//add two div
$("<div>Hi,I'm 2....OK?</div>").appendTo("#hello");
});

$(function(){
$("#j").html("DOM元素DIV的总和为:"+$("div").size());
});


</script>


</head>

<body>
<div id="j">Div 1</div>
<div id="someParentDiv">Div 2</div>
<div id="hello">Div 3</div>
<div id="gg">hi...gogo!</div>

</body>
</html>


一般来说,我们选择到了DOM元素的目的是为了取得列如TEXT这些元素的值,在JQUERY中我们可以这样获得:

/*获得TEXT.AREATEXT的值*/

var textval = $("#text_id").attr("value");//或者

var textval = $("#text_id").val();

/*获取单选按钮的值*/

var valradio = $("input[@type=radio][@checked]").val();

/*获取复选框的值*/

var checkboxval = $("#checkbox_id").attr("value");

/*获取下拉列表中所有的值*/

var selectval = $('#select_id').val();


如:

<html> 
<head>
<title></title>
<script type="text/javascript" src="scripts/jquery-1.2.1.js"></script>


<script type="text/javascript">

function x(){
var x=$("#aTextField").attr("value");
alert(x);
}

</script>
</head>

<body>
<div id="j">Div 1</div>
<input type="text" id="aTextField" onclick="x()"/>
</body>
</html>


例子来自:《JQUERY IN ACTION》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值