JQuery获取元素的N种⽅法
⼀.根据标签属性或属性值获取
1.根据属性获取元素
⽐如要获取页⾯p标签中属性有id的元素
代码如下:
$("p[id]").css("color","red");
2.根据属性值获取元素
特殊符号 $ , ! , * , @ , ^ 的灵活使⽤。
2.1 $
[attribute$=value],匹配给定的属性是以某些值结尾的元素。下⾯举个例⼦来说明⼀下:
<input name="newsletter" />
<input name="milkman" />
<input name="jobletter" />
jq代码:
$("input[name$='letter']")
获取结果:
[ <input name="newsletter" />, <input name="jobletter" /> ]
2.2 !
[attribute!=value],匹配所有不含有指定的属性,或者属性不等于特定值的元素,此选择器等价于:not([attr=value]).例⼦说明⼀下:
<input type="checkbox" name="newsletter"value="Hot Fuzz" />
<input type="checkbox" name="newsletter"value="Cold Fusion" />
<input type="checkbox" name="accept"value="Evil Plans" />
jq代码:
$("input[name!='newsletter']").attr("checked", true);
结果:
[ <input type="checkbox" name="accept" value="Evil Plans" checked="true" /> ]
2.3 *
[attribute*=value],匹配给定的属性是以包含某些值的元素。举个例⼦说明⼀下:
<input name="man-news" />
<input name="milkman" />
<input name="letterman2" />
<input name="newmilk" />
jq代码:
$("input[name*='man']")
结果:
[ <input name="man-news" />, <input name="milkman" />, <input name="letterman2" /> ]
2.4 @
匹配包含给定属性的元素。注意,在jQuery 1.3中,前导的@符号已经被废除!如果想要兼容最新版本,只需要简单去掉@符号即可。2.5 ^
[attribute^=value],匹配给定的属性是以某些值开始的元素,下⾯举个例⼦来说明⼀下
<input name="newsletter" />
<input name="milkman" />
<input name="newsboy" />
jq代码:
$("input[name^='news']")
结果:
[ <input name="newsletter" />, <input name="newsboy" /> ]
2.6 获取指定属性且设定值中有指定字符串的元素
<input type="checkbox" name="newsletter"value="Hot Fuzz"/>
<input type="checkbox" name="newsletter"value="Cold Fusion" />
<input type="checkbox" name="accept"value="Evil Plans" />
jq代码:
$("input[name$='letter'][value$='zz']").attr("checked","true");⽀持多条件操作
在jquery中,当使⽤
$(”input[name='metaId']“).val()
不能直接获得被选择的radio的值,只是获得 radio标签的第⼀个值,这可能jquery使⽤xpath语⾔了进⾏查有关,⽽我们通常是想获得被选中的radio的值,有以下⼏种⽅法:
1,使⽤$(”input[name='metaId']:checked”).val()获得 //name代表radio中name属性名
2,使⽤$(”:radio:checked”).val()获得 //限制页⾯只有⼀组radio标签
⼆.根据标签选择器以及⽗⼦节点获取指定元素
1. 根据下标获取元素
<div>
<p>0</p>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
</div>
jq代码
<script type="text/javascript">
$(function(){
$("p").eq(2).css("color","red");
$("p").eq(3).css("color","red");
})
</script>
2. 获取指定条件⼀致和指定范围的元素
<div>
<p>0</p>
<p>1</p>
<p class="center">2</p>
<p class="center">3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
</div>
jq代码
<script type="text/javascript">
$(function(){
$("p").filter('.center').css("color","red");
})
$(function(){
$("p").slice(5,7).css("color","yellow");
})
</script>
3.获取与条件表达式⼀致的元素
<div>
<p>0</p>
<p>1</p>
<p class="center">2</p>
<p class="center">3</p>
<p>4</p>
<p class="aa">5</p>
<p>6</p>
<p>7</p>
</div>
jq代码
<script type="text/javascript">
jQuery(function(){
$("p").each(function(){
switch(true){
case $(this).is(".center"):
$(this).css("color","red");
break;
case $(this).is(".aa"):
$(this).css("color","yellow");
break;
}
})
})
</script>
4.获取元素的上⼀个元素和下⼀个元素
<div id="aa">
<p>1号</p>
<p class="yes">2号</p>
<p>3号</p>
<p>4号</p>
<p>5号</p>
<p class="yes">6号</p>
<p class="yes">7号</p>
</div>
jq代码
//获取元素的下⼀个元素
jQuery(function(){
$("p").next(".yes").css("color","red");
})
//获取元素的上⼀个元素
jQuery(function(){
$("p").prev(".yes").css("color","red");
})
5.获取元素的⽗元素和⼦元素
<div id="aa">
<p>1号</p>
<p class="yes">2号</p>
<p>3号</p>
<p>4号</p>
<p>5号</p>
<p class="yes">6号</p>
<p class="yes">7号</p>
</div>
jq代码
//获取元素的⽗元素
jQuery(function(){
$("p").parent().css("color","red");
})
//获取元素的⼦元素
jquery在一个元素后追加标签jQuery(function(){
$("#aa").children(".yes").css("color","red"); })
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论