jquery问题,怎样让选择器获取通过变量获取相应的id:例如,我想让jquery获取#sel01,#sel02,#sel03

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery问题,怎样让选择器获取通过变量获取相应的id:例如,我想让jquery获取#sel01,#sel02,#sel03相关的知识,希望对你有一定的参考价值。

我自己写了个,帮忙看看这个哪里错了,是不是var $sel=$("'#sel0'+i")这种写法有问题;

<script type="text/javascript">
$(function()
if(i=1,i<4,i++)
var $sel=$("'#sel0'+i");
var $selmenus=$(".child_menus");

$sel.mouseenter(
function()
$selmenus.show();
);
$sel.mouseleave(
function()
$selmenus.hide();
);

);
</script>
一个jquery新生,错的离谱还望高手们指正。

刚刚翻看CSS 3.0 api 时发现,p[title^="val"] color:#FF0000;有一个这种选择器是匹配 P标签的TITLE的元素的开头字符串,然后拿到JQUERY中试了一下,发现竟然可以。
主要代码就是$("tr[id^='myte']").css("background-color","#B2E400");
意思是 匹配id以myte开头的tr,结果我所有的id以myte开头的tr颜色都被改变了,你可以试一试。JQUERY的好处是可以尽量的不使用循环,后来我想如果不确定是哪种标签怎么办,于是我把TR给去掉了,是可以的,甚至我把TR换成了$也是可以的,也就变成了
$("[id^='myte']").css("background-color","#B2E400"); 在页面中加了几个DIV,结果div和TR的的背景色都是可以改变的。
不过JQUERY里有mouseenter 和mouseleave这两个事件吗?
下面的代码你试试看,看行不行:
$(document).ready(function()
$("[id^='sel']").mouseout(function() //鼠标离开
$(".child_menus").hide("slow");

);
$("[id^='sel0']").mouseover(function() //鼠标悬停
$(".child_menus").show("slow"); //.是class选择器。

); );
我试过了,是可以的。
不得不说JQUERY的选择器真的是比较的强大啊。追问

好人呐呐!!!!
是有mouseenter 和mouseleave这两个事件的,
http://www.w3school.com.cn/jquery/event_mouseenter.asp

参考资料:CSS3.0参考手册

参考技术A 确实错的的离谱!
if(i=1,i<4,i++)//if语句怎么能这么写的?你是想写for吗?
另外,你想绑定事件,建议使用bind
===========
错的都不好改.你还是先老老实实学习jquery的基础用法吧.不要看一两眼就开始写比较复杂的jq
应用.追问

好人呐,谢谢指教,能不能告诉我怎样通过变量获取相应的id:
这里的id是变量,我用jquery怎么取呢?例如我要取页面上的#sel01,#sel02,#sel03这个3个id,它们不是邻近关系。。。能不能给写个示例。。。。。谢谢!

参考技术B $("'#sel0'+i")???
里面干嘛要3个单引号???
$("#sel0"+i),这样写
参考技术C var str="#sel01";//变换里面的值就行了
$(str).show;

jQuery选择器入门

html5的声明标准

<!DOCTYPE html>

导入jQuery库

<script src="jquery.min.js" ></script>

 

jQuery语法

jQuery对象就是通过 jQuery 包装 DOM 对象后产生的对象

jQuery 对象无法使用 DOM 对象的任何方法, 同样 DOM 对象也不能使用 jQuery 里的任何方法

如果获取的是 jQuery 对象, 那么要在变量前面加上 $.
var $variable = jQuery 对象
var variable = DOM 对象

将jQuery 对象转成 DOM 对象:
(1)jQuery 对象是一个数组对象, 可以通过 [index] 的方法得到对应的 DOM对象.

$("#msg")[0] 

(2) 使用 jQuery 中的 get(index) 方法得到相应的 DOM 对象 

$("#msg").get(0)

将DOM 对象转成 jQuery 对象: 

对于一个 DOM 对象, 只需要用 $() 把 DOM 对象包装起来, 就可以获得一个 jQuery 对象. 例如:

$(document.getElementById(“msg”))

ready:等待DOM文档载入后执行,类似于window.onload

<script src="jquery.min.js"></script>
<script>
$(document).ready(function(){ 
alert("Hello World!");
});
</script>    

 

jQuery选择器
(1)基本选择器
技术图片
例:改变元素名为 p的所有元素的背景色为 # bbffaa,字体颜色为红色

$("p").css({color:"red",backgroundColor:"#bbffaa"});

 

(2)层次选择器
技术图片
注意: ("prev ~ div") 选择器只能选择"# prev"元素后面的同辈元素; 而 jQuery 中的方法 siblings() 与前后位置无关, 只要是同辈节点就可以选取

例:改变 body内所有 div的背景色为 # bbffaa

$("body div").css({color:"red",backgroundColor:"#bbffaa"});

 

改变 body 内子 div的背景色为 # bbffaa

$("body>div").css("background","#bbffaa");

 

改变 id 为 one 的下一个 div 的背景色为 # bbffaa

$("#one+div").css("background","#bbffaa");

 

改变 id 为 two 的元素后面的所有兄弟div的元素的背景色为 # bbffaa

$("#two~div").css("background","#bbffaa");

 

改变 id 为 two 的元素所有 p 兄弟元素的背景色为 # bbffaa

$("#two").siblings("p").css("background","#bbffaa");

 

(3)过滤选择器
过滤选择器主要是通过特定的过滤规则来筛选出所需的 DOM 元素, 该选择器都以":"开头
基本过滤选择器:
技术图片
例:改变第一个 div 元素的背景色为 # bbffaa

$("div:first").css({color:"red",backgroundColor:"#bbffaa"});

 

改变id不为 one 的所有p元素的背景色为 # bbffaa

$("p:not(‘#one‘)").css({color:"red",backgroundColor:"#bbffaa"});

 

改变索引值为偶数的 tr元素的背景色为 # bbffaa

$("tr:even").css({color:"red",backgroundColor:"#bbffaa"});

 

改变索引值为大于 3 且为奇数的 p元素的背景色为 # bbffaa

$("p:gt(3):odd").css({color:"red",backgroundColor:"#bbffaa"});

 

改变所有的标题元素的背景色为 # bbffaa

$(":header").css({color:"red",backgroundColor:"#bbffaa"});

 

内容过滤选择器:
技术图片
例:改变含有文本 ‘di‘ 的 p元素的背景色为 # bbffaa

$("p:cotains(di)").css({color:"red",backgroundColor:"#bbffaa"});

 

改变含有 class 为 mini 元素的 p元素的背景色为 # bbffaa

$("p:has(.mini)").css({color:"red",backgroundColor:"#bbffaa"});

 

可见性过滤选择器:
可见选择器 :hidden 不仅包含样式属性 display 为 none 的元素,也包含文本隐藏域 (<input type="hidden">)和 visible:hidden 之类的元素

属性过滤选择器:
技术图片
例:含有属性title 的div元素

$("div[title]").css("background", "red");

 

含有属性title,且title含有‘di‘的元素

$("div[title*=di]").css("background", "red");

 

含有属性id的div元素,然后在结果中选取属性title值含有"es"的 div 元素

$("div[id][title*=es]").css("background", "red");

 

子元素过滤选择器:

技术图片

nth-child() 选择器详解如下:
(1) :nth-child(even/odd): 能选取每个父元素下的索引值为偶(奇)数的元素
(2):nth-child(2): 能选取每个父元素下的索引值为 2 的元素
(3):nth-child(3n): 能选取每个父元素下的索引值是 3 的倍数 的元素
(4):nth-child(3n + 1): 能选取每个父元素下的索引值是 3n + 1的元素
例://选择id为‘div1‘下的索引为1的子元素

(1)

$("#div1:first-child").css("background", "red");

(2)

$("#div1 :nth-child(1)").css("background", "red");

 

选择id为‘div1‘下的索引为偶数的子元素

$("#div1 :nth-child(even)").css("background", "red");

 

选择id为‘div1‘下的索引为2的倍数的子元素

$("#div1 :nth-child(2n)").css("background", "red");

 

表单对象属性过滤选择器:

技术图片

例:利用 jQuery 对象的 val() 方法改变表单内可用 <input> 元素的值

$("input:enabled").val("哈哈");

 

利用 jQuery 对象的 val() 方法改变表单内type为‘text‘的可用 <input> 元素的值

$("input[type=text]:enabled").val("哈哈");

 

附:表单选择器
技术图片




























以上是关于jquery问题,怎样让选择器获取通过变量获取相应的id:例如,我想让jquery获取#sel01,#sel02,#sel03的主要内容,如果未能解决你的问题,请参考以下文章

jQuery怎样获取并且修改P标签内的值

获取报告后通过 jquery 日期选择器保留输入值

jQuery怎样获取并且修改P标签内的值

如何从 jQuery 对象中获取选择器

怎样通过CSS选择器获取元素节点或元素节点集合

JQuery获取元素的方法总结