2009.12.30——看附件里面的那个button插件所遇到的jquey知识
1.each()遍历数组的 (jquery)
var arr1 = [ "one", "two", "three", "four", "five" ];
$.each(arr1, function(){
alert(this);
});
输出:one two three four five
也可以
$("input[type='reset']").each(function(){});
2.data()返回元素上储存的相应名字的数据,可以用data(name, value)来设定,就是用来存储的 (jquery)
<body>
<script type="text/javascript">
<!--
$(function(){
var btn = $(':button');
for(var i = 0, len = btn.length; i < len; i++){
btn.eq(i).data('index', i);
btn.eq(i).click(function(){
alert($(this).data('index'));
});
}
});
//-->
</script>
<input type="button" value="Alert(0)" />//0
<input type="button" value="Alert(1)" />//1
</body>
3.eval() 这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。 (js)
举个小例子:
JavaScript代码
var a = "2 + 3";
var b = eval("2 + 3");
alert("b is " + a + " and b is " + a);
如果你运行这段eval程序, 你将会看到在JavaScript里字符串"2 + 3"实际上被执行了。所以当你把a的值设成 eval("2 + 3")时, JavaScript将会明白并把2和3的和返回给b。
bnt._click = eval(obj.attr("onclick"));
4.join 数组本身的方法 (js)
格式:
objArray.join(seperator)
用途:
以seperator指定的字符作为分隔符,将数组转换为字符串,当seperator为逗号时,其作用和toString()相同。
例子:
比如我们有个字符串"a","b","c"我们要输出为a,b,c这样的格式,那么我们可以这样:
var a = ["a","b","c"];
document.write(a);
若使用join,那必须得这样:
var a = ["a","b","c"].join(",");
document.write(a);
如果你说你要直接输出abc,而不输出a,b,c,那使用join再合适不过。
var a = ["a","b","c"].join("");
document.write(a);
5.replaceWith()替换 (jquery)
将所有匹配的元素替换成指定的HTML或DOM元素。
示例
描述:
把所有的段落标记替换成加粗的标记。
HTML 代码:
<p>Hello</p><p>cruel</p><p>World</p>jQuery 代码:
$("p").replaceWith("<b>Paragraph. </b>");结果:
<b>Paragraph. </b><b>Paragraph. </b><b>Paragraph. </b>
6.parsents() 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。(jquery)
var form = $(this).parents("form")[0];
获得包含本元素的祖先元素,而且此祖先元素要包含form元素,而且是第一个包含form的
这种查找节点的方法还有很多:
children(expr),本元素下面的子元素,不包含子孙元素
next(),本元素后面的同辈元素
prev(),本元素前面的同辈元素
siblings(),本元素所有的同辈元素
closest(),取得最近的匹配元素,先检查自己
7.is() (jquery)
可以用来判断元素是否显示 is(":visible")
3.合成事件
hover(fn1,fn2),当鼠标以上去,触发fn1,当鼠标移开,触发fn2
toggle(f1,f2...fn) 鼠标连续单击事件,第一次单击触发f1,第二次触发f2,一次类推。。。