jQuery关键知识(一)

1. $ vs $()
m = $(document.getElementById('main'));

$() 方法可将 DOM 对象转换成 jQuery 对象

$('div').on('click','p',function(){$(this).toggle();});

点击网页中 div 元素下的 p 标签,会隐藏该 p 标签。对于 $() 对象,相关函数命名空间为 $.fn,在调用相关函数时,会将元素本身的 DOM 对象用 this 传入。

2. 避免 $ 符号与其他包冲突
  • 重新命名
var $jq = jQuery.noConflict();
  • 利用函数
jQuery.noConflict();
 
(function( $ ) {
    // Your jQuery code here, using the $
})( jQuery );
  • 利用 jQuery(document).ready
jQuery(document).ready(function( $ ) {
    // Your jQuery code here, using $ to refer to jQuery.
});
  • 直接利用 jQuery 函数
jQuery(function($){
    // Your jQuery code here, using the $
});
3. attr 方法
// 设置一个属性值
$( "a" ).attr( "href", "allMyHrefsAreTheSameNow.html" );
 // 设置多个属性值
$( "a" ).attr({
    title: "all titles are the same too!",
    href: "somethingNew.html"
});
// 获取属性值
$( "a" ).attr( "href" );
4. 选取元素
$( "#myId" );   // 通过 id 选取
$( ".myClass" );  // 通过class选取
$( "input[name='first_name']" );  // 通过属性选取
$( "#contents ul.people li" );  // 组合选取
$( "div.myClass, ul.people" );  // 选取多个
$("ul>li");  // 选取 ul 的直接 li 子节点

$( "a.external:first(last)" );   // 第一个(最后一个)节点
$( "tr:odd(even)" );  // 奇(偶)数节点
$( "#myForm :input" );  // 输入节点
$( "div:visible(hidden)" );  // 可见(不可见)节点
$( "div:gt(lt,eq)(2)" );  // 大于(小于、等于) 2 的节点
$( "div:animated" );  // 动画节点

$("tr").eq(n);  // 第 n 个节点
$('ul>li.page_item').is('.page-item-73');  // 有一个符合则为true
$( "div.foo" ).has( "p" );    // 过滤出为 p 的
$( "h1" ).not( ".bar" );    // 过滤出 class 不为 bar 的
$( "ul li" ).filter( ".current" ); // 过滤出 class 为 current 的
$( "ul li" ).first();  // 选取第一个
$( "ul li" ).eq( 5 ); // 选取第5个

// 一些过滤器
:password
:reset
:radio
:text
:submit
:checkbox
:button
:image
:file
if ( $( "div.foo" ).length ) {
    ...
}

检测是否选取到任何元素

5. 对选择器进行操作
  • 链式操作
$( "#content" ).find( "h3" ).eq( 2 ).html( "new text for the third h3!" );
  • 一些方法
.html() – Get or set the HTML contents.
.text() – Get or set the text contents; HTML will be stripped.
.attr() – Get or set the value of the provided attribute.
.width() – Get or set the width in pixels of the first element in the selection as an integer.
.height() – Get or set the height in pixels of the first element in the selection as an integer.
.position() – Get an object with position information for the first element in the selection, relative to its first positioned ancestor. This is a getter only.
.val() – Get or set the value of form elements.
  • 移动元素
// 相对于元素
.insertAfter()
.after()
.insertBefore()
.before()

// 相对于元素组
.appendTo()  
.append()
.prependTo()
.prepend()
  • 克隆元素
$( "#myList li:first" ).clone().appendTo( "#myList" );
  • 移除元素
.remove()  //  不保留绑定的事件
.detach()   // 保留绑定的事件
.empty()  // 只清空内容
  • 创建新元素
$( "<li class=\"new\">new list item</li>" );

$( "<a/>", {
    html: "This is a <strong>new</strong> link",
    "class": "new",
    href: "foo.html"
});
  • 操作属性
$( "#myDiv a:first" ).attr( "href", "newDestination.html" );

$( "#myDiv a:first" ).attr({
    href: "newDestination.html",
    rel: "nofollow"
});

$( "#myDiv a:first" ).attr({
    rel: "nofollow",
    href: function( idx, href ) {
        return "/new/" + href;
    }
});
 
$( "#myDiv a:first" ).attr( "href", function( idx, href ) {
    return "/new/" + href;
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,188评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,464评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,562评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,893评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,917评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,708评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,430评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,342评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,801评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,976评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,115评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,804评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,458评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,008评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,135评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,365评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,055评论 2 355

推荐阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,390评论 0 44
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,208评论 0 3
  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 657评论 0 3
  • 第一章 jQuery简介 1-1 jQuery简介 1.简介 2.优势 3.特性与工具方法 1-2 环境搭建 进入...
    mo默22阅读 1,587评论 0 11
  • jQuery基础(一)——样式篇 1-2环境搭建 1-3 jQuery HelloWorld体验 $(docume...
    croyance0601阅读 1,083评论 0 8