
本文以定位到第三个文本框为例为大家详细介绍下jquery 定位元素几种方法 感兴趣的朋友可以参考下 希望对大家有所帮助 复制代码 代码如下: <> <table class=”ed”> <tr> <td><input type=text></input></td> <td><input type=text></input></td> <td><input type=button></input></td> <td><input type=text></input></td> </tr> </table> </>
需要定位到第三个文本框的时候
复制代码 代码如下: $(“ ed input:text)”) eq( ) $(“ ed input:text:eq( )”) $(“ ed input[type=”text”]”) eq( ) $(“ ed input[type=”text”]:eq( )”) lishixinzhi/Article/program/Java/JSP/201311/19824
通过children
children("input:first-child")
$(this)children("input:first-child")val();
$(this)children("input:last-child")val();
通过>选择器,$("items>input:first")
1 通过位置选择的 *** 作:
:first:默认情况下是相对整个页面来说的第一个,如:li:first表示整个页面的第一个li元素,而ul li:first表示整个页面的第一个li元素,并且是在ul下的子元素;
:first- child:为每个父元素匹配第一个子元素,如li:first-child返回每个ul的第一个li元素。可以这样理解,页面中的元素有相同的父元素 的,并且里面又包含li元素的,那么就取第一个li元素,每个子类集合都要进行判断,直到找出所有符合要求的li元素;
:only- child:返回所有没有兄弟节点的元素,注意,文本元素不是,也就是说类似这样的<div>hello<a href="">jquery</a></div>,对于这段会选出<a>元素;对 于$(”label:only-child“)会选出是label元素,同时它是它父类唯一的子元素的label元素;
:nth-child(n):返回第n个子节点,n从1开始,如果n取0,那么就会选择所有的元素。如:[]li:nth-child(2)返回li元素,并且该元素是其父元素的第二个子元素;
:nth-child(even|odd):返回偶数或奇数的子节点;
:nth-child(An+B):返回满足表达式An+B的所有子节点,比如3n+1返回所处位置为父节点子元素的是3的倍数加1的那个子元素;
:even:页面范围内的处于偶数位置的元素,如:li:even返回全部偶数li元素;
:odd:页面范围内的处于奇数位置的元素;
:eq(n):第n个匹配的元素(n从0开始),如:li:eq(3)返回整个页面的第四个li元素,ul li:eq(1)返回页面中第一个ul元素下的第二个li元素,注意:只匹配一次就返回了;
:gt(n):第n个匹配元素(不包括)之后的元素(n从0开始),如:ul:gt(2)返回从第3个ul开始的所有ul元素(含第三个);
:lt(n):第n个匹配元素(不包括)之前的元素(n从0开始),如:ul:lt(2)返回从第0个和第1个ul元素;
2 利用css选择器进行选择:
元素标签名:比如说$(”a“)会选出所有链接元素;
#id:通过元素id进行选择,比如说$("#form1")会选择id为form1的元素;
class:通过元素的CSS类来选择,比如说$("boldstyle")会选择CSS为boldstyle类的元素;
标签 名#idclass:通过某类元素的id属性和class属性来选择,如:$(a#blogboldStyle)会选择id为blog并且CSS类型 为boldStyle类型的链接元素(<a id='blog' class='boldStyle'>);
父标签名 子标签名class:通过选择父标签下的某种CSS类型的子元素,如:$(p aredStyle)会选择p段落元素中的链接子元素a,且其css类型为redStyle;
3 通过子选择器,容器选择器和属性选择器进行选择:
:匹配所有的元素,比如说:$()会把页面中的所有元素都返回;
E:匹配标签名为E的所有元素,如$("a")返回所有链接元素;
E F:匹配父元素E下的标签名为F的所有子元素(F可以为E的子类的子类,甚至更远);
E>F:匹配父元素E下的所有标签名为F的直接子元素;
E+F:匹配所有标签名为F的元素,并且有E类型的兄弟节点在该F元素之前(E,F紧挨着);
E~F:匹配前面是任何兄弟节点E的所有元素F(E,F不必紧挨着);
E:has(F):匹配标签名为E,至少有一个标签名为F的后代节点的所有元素E;
EC:匹配带有类名C的所有元素E。C等效于C;
E#I:匹配id为I的所有元素E,#I等效于#I;
E[A]:匹配带有属性A的所有元素E;
E[A=V]:匹配所有属性A的值为V的元素E;
E[A^=V]:匹配所有元素E,且A的属性值是V开头的;
E[A$=V]:匹配所有元素E,且A的属性值是V结尾的;
E[A=V]:匹配所有元素E,且A的属性值中包含有V;
4利用jQuery自定义的选择器进行选择:
:button:选择任何按钮类型的元素,包括input[type=submit]等等;
:checkbox:选择复选框元素;
:file:选择所有文件类型元素,即input[type=file];
:image:选择表单中的图像元素,即input[type=image],注意此处和前面根据标签名img选择图像有点不同哈;
:input:选择表单元素,如<input>,<select>,<textarea>,<button>等;
:radio:选择单选按钮元素;
:reset:选择复位按钮元素,如input[type=reset],button[type=reset];
:submit:选择提交按钮元素;
:text:选择文本字段元素,即input[type=text];
:animated:选择当前处于动态控制下的元素;
:contains(hello):选择包含文本hello的元素;
:header:选择标题元素,如<h1>;
:parent:选择拥有后代节点(包括文本)的元素,而排除空元素;
:selected:选择已选中的选项元素;
:visible:选择可见元素;
这样:
<ul class="parent1">
<li><a href="#" id="item1">jquery获取父节点</a></li>
<li><a href="#">jquery获取父元素</a></li>
</ul>
扩展资料:
注意事项
parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。
parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
可以看出parent的取值很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。
<div id='div1'>
<div id='div2'><p></p>
</div><div id='div3' class='a'><p></p></div>
<div id='div4'><p></p></div>
</div>
太多了 不明白你想干什么 你是想处理多个class是吧 想怎么获取?用each方法就可以了
$("nav")each(function(index,item) {$(this)……//这个就是jquer循环获取的class对象 你可以用来处理你的逻辑
});
如下代码可以实现点击页面获得被点击元素的id
$(document)click(function(e) { // 在页面任意位置点击而触发此事件$(etarget)attr("id"); // etarget表示被点击的目标
})
示例代码如下
创建Html元素
<div class="box"><span>点击页面后,设置被点击元素背景色并获取其id:</span><br>
<div class="content" id = "test">test
<div id = "test1">test1
<div id = "test2">test2
<div id = "test3">test3</div>
</div>
</div>
</div>
</div>
设置css样式
divbox{width:300px;padding:20px;margin:20px;border:4px dashed #ccc;}divbox span{color:#999;font-style:italic;}
divcontent{width:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;}
divcontent div{min-width:20px;min-height:20px;padding:30px;border:1px solid #446699;background:#ffffff;}
bg{background:#ff99cc !important;}
编写jquery代码
$(function(){$(document)click(function (e) {
$(etarget)addClass('bg'); // 设置背景色
alert($(etarget)attr('id')); // 获取id
})
})
观察效果
初始状态
点击id为test2的div
可以使用jQuery的children方法来获取某个元素下的所有子元素。
工具原料:编辑器、浏览器
1、使用children方法可以获得选择器下的所有子元素,代码实例如下:
<!DOCTYPE html><html>
<head>
<script type="text/javascript" src="/jquery/jqueryjs"></script>
<style>
body { font-size:16px; font-weight:bolder; }
p { margin:5px 0; }
</style>
</head>
<body>
<div>
<span>Hello</span>
<p class="selected">Hello Again</p>
<div class="selected">And Again</div>
<p>And One Last Time</p>
</div>
<script>$("div")children("selected")css("color", "blue");</script>
</body>
</html>
2、运行的结果是找到类名为 "selected" 的所有 div 的子元素,并将其设置为蓝色,结果如下:
jquery通过任何选择器取得的对象都是jquery对象而不是JavaScript的dom对象不能用js的方法进行 *** 作 而需要使用jquery对象支持的方法 如果是通过class的话取得的是jquery对象数组
ps 如果想把jquery对象装换为js对象可以用以下方法
1 var obj = $('#xx')[0] 获得dom对象
2 对于数组
var obj = $('xx')each(function(){
alert(this)//这里 this获得的就是每一个dom对象 如果需要jquery对象 需要写成$(this)
});
var self='';
$('div a')each(function(i){
$(this)click(function(){
self = $('div')clone();
selfchildren('a:eq('+i+')')siblings()remove();
alert(selfhtml());
return false;
});
});
以上就是关于jquery 定位input元素的几种方法小结全部的内容,包括:jquery 定位input元素的几种方法小结、jquery如何获取第一个或最后一个子元素、jquery怎么获取当前元素的父元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)