JQuery知识点补充

2019-05-26  本文已影响0人  向上而活

text()、html() 以及 val(),拥有回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。

        $("#btn1").click(function(){
  $("#test1").text(function(i,origText){
    return "Old text: " + origText + " New text: Hello world!
    (index: " + i + ")";
  });
});

attr()方法也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。也允许您同时设置多个属性。

            $("button").click(function(){
  $("#w3s").attr({
    "href" : "http://www.w3school.com.cn/jquery",
    "title" : "W3School jQuery Tutorial"
  });
});

empty() 方法删除被选元素的子元素。

remove() 方法也可接受一个参数,允许您对被删元素进行过滤。$("p").remove(".italic");

css() 方法设置或 返回 被选元素的一个或多个样式属性。$("p").css("background-color");

获取/设置元素宽高

width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。
innerWidth() 方法返回元素的宽度(包括内边距)。
innerHeight() 方法返回元素的高度(包括内边距)。
outerWidth() 方法返回元素的宽度(包括内边距和边框)。
outerHeight() 方法返回元素的高度(包括内边距和边框)。
outerWidth(true) 方法返回元素的宽度(包括内边距、边框和外边距)。
outerHeight(true) 方法返回元素的高度(包括内边距、边框和外边距)。

遍历查找

祖先

parent() 方法返回被选元素的直接父元素。
parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)。也可以使用可选参数来过滤对祖先元素的搜索。$("span").parents("ul");
parentsUntil() 方法返回介于两个给定元素之间的所有祖先元素。

兄弟

siblings() 方法返回被选元素的所有同胞元素。可以使用可选参数来过滤对同胞元素的搜索。
next() 方法返回被选元素的下一个同胞元素。
nextAll() 方法返回被选元素的所有跟随的同胞元素。
nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
prev(), prevAll() 以及 prevUntil() 方法,与上面的用法一样,只不过方向相反

过滤
first() 方法返回被选元素的首个元素。
last() 方法返回被选元素的最后一个元素。
eq() 方法返回被选元素中带有指定索引号的元素。
filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

$(document).ready(function(){
  $("p").filter(".intro");
});
not() 方法与 filter() 相反。

如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办?

noConflict() 方法会释放会 $ 标识符的控制,这样其他脚本就可以使用它了。

            $.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery 仍在运行!");
  });
});

您也可以创建自己的简写。noConflict() 可返回对 jQuery 的引用,您可以把它存入变量,以供稍后使用

            var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery 仍在运行!");
  });
});

如果你的 jQuery 代码块使用 简写,并且您不愿意改变这个快捷方式,那么您可以把 符号作为变量传递给 ready 方法。这样就可以在函数内使用 $ 符号了

            $.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery 仍在运行!");
  });
});
上一篇 下一篇

猜你喜欢

热点阅读