搜尋
首頁web前端js教程jQuery針對各類元素操作基礎教學_jquery

本文實例講述了jQuery針對元素的操作,包括基礎操作、選擇要操作的元素及處理DOM元素等。對jQuery的學習有很好的借鏡價值。分享給大家參考之用。具體分析如下:

1、基礎

jquery物件集:

$():jquery物件集合

取得jquery物件集中的元素:

使用索引取得包裝器中的javascript元素:

var temp = $('img[alt]')[0]

使用jquery的get方法來取得jquery物件集中的javascript元素:

var temp = $('img[alt]').get(0)

使用jquery的eq方法取得jquery物件集中的jquery物件元素:

$('img[alt]').eq(0)
$('img[alt]').first()
$('img[alt]').last()

jquery物件集轉換成javascript陣列:

var arr = $('label+button').toArray()

label後面所有同級button元素,轉換成javascript數組

jquery物件集的索引:
var n = $('img').index($('img#id')[0]) 注意:index()參數是javascript元素
var n = $('img').index('img#id') 等同於上一行 找不到回傳-1
var n = $('img').index() 取得img在同級元素中的索引

在jquery物件集中增加更多的jquery物件集:   
使用逗號:

$('img[alt],img[title]')

使用add方法:

$('img[alt]').add('img[title]')

對不同的jquery物件集中採取不同的方法:

$('img[alt]').addClass('thickBorder').add('img[title]').addClass('');

為jquery物件集中新增新建立的元素:

$('p').add('<div></div>');

刪除jquery物件集中的元素:

$('img[title]').not('[title*=pu]')
$('img').not(function(){return !$(this).hasClass('someClassname')})

過濾jquery物件集:
$('td').filter(function(){return this.innerHTML.match(^d $)})過濾包含數字的td

取得jquery物件集的子集

$('*').slice(0,4) 包含前4個元素的新的jquery物件集
$('*').slice(4) 包含前4個元素的新的jquery物件集
$('div').has('img[alt]')

轉換jquery物件集中的元素:

var allIds = $('div').map(function(){
 return (this.id==undefined) &#63; null : this.id;
}).get();

上述範例可透過get方法轉換成javascript陣列。

遍歷jquery物件集中的元素:

$('img').each(function(n){
 this.alt = '这是第['+n+']张图片,图片的id是' + this.id;
})
$([1,2,3]).each(function(){alert(this);})

使用元素間關係來取得jquery物件集:

$(this).closest('div')例如觸發的按鈕在哪個div中發生
$(this).siblings('button[title="Close"]')所有同級元素,不包含本身
$(this).children('.someclassname')所有子節點元素,不包含重複子節點
$(this).closest('')臨近祖先元素
$(this).contents()由元素內容組成的jquery物件集,例如可以取得

其它取得jquery物件集的方式:

$(this).find(p span)

判斷是否為某個jquery物件集:

var hasImg = $('*').is('img');

jquery方法:

$().hide()
$().addClass('')
$().html('')
$('a').size()元素數量

jquery選擇器:

$('p:even')  
$('tr:nth-child(1)')
$('body > div')直接子元素
$('a[href=$='pdf']')依屬性選擇
$(div:has(a))過濾

jquery函數:

$.trim()
jquery執行時間:
$(document).ready(function(){});
$(function(){});

建立DOM元素:

$('<p></p>').insertAfter();
$('<img  alt="jQuery針對各類元素操作基礎教學_jquery" >',{
 src: '',
 alt: '',
 title: '',
 click: function(){}
}).css({
 cursor:'pointer',
 border:'',
 padding:'',
 backgroundColor:'white'
}).append('');

jquery擴充:

$.fn.disable = function(){
 return this.each(function(){
 if(this.disabled != null) this.disabled = true;
 })
};
$('').disable();

jquery测试元素是否存在:

if(item)(){}else{} 宽松测试
if(item != null) 推荐测试,能把null和undefined区别开

2、选择要操作的元素

根据标签名:$('a')  
根据id:$('#id')
根据类名:$('.someclassname')
满足多个条件:$('a#id.someclassname') 或 $('div,span')
某个元素的所有子节点:$(p a.someclassname)
某个元素的直接子节点:$(ul.myList > li)
根据属性名:
$(a[href^='http://']) 以...开头
$(href$='.pdf')以...结尾
$(form[method])包含method属性的form
$(intput[type='text'])
$(intput[name!=''])
$(href*='some')包含

某元素后的第一个元素:$(E+F)匹配的是F,F是E后面的第一个元素

某元素后的某一个元素:$(E~F)匹配的是F,F是E后面的某一个元素

通过位置:

$(li:first)第一个li
$(li:last)最后一个li
$(li:even)偶数行li
$(li:odd)奇数行li
$(li:eq(n))第n个元素,索引从0开始
$(li:gt(n))第n个元素之后的元素,索引从0开始
$(li:lt(n))第n个元素之前的元素,索引从0开始
$(ul:first-child)列表中的第一个li
$(ul:last-child)列表中的最后一个li
$(ul:nth-child(n))列表中的第n个li
$(ul:only-child)没有兄弟li的ul
$(ul:nth-child(even))列表中的偶数行li,odd为计数行li
$(ul:nth-child(5n+1))列表中被5除余1的li

通过过滤器:

$(input:not(:checkbox))
$(':not(img[src*="dog"])')
$('img:not([src*="dog"])')
$(div:has(span))
$('tr:has(img[src$="pu.png"])')
$(tr:animated)处于动画状态的tr
$(input:button)包括type类型为button,reset,submit的Input
$(input:checkbox)等同于$(input[type=checkbox])
$(span:contains(food))包含文字food的span
$(input:disabled)禁用
$(input:enabled)启用
$(input:file)等同于$(input[type=file])
$(:header)h1到h6
$(input:hidden)
$(input:image)等同于$(input[type=image])
$(:input)包括input, select, textarea, button元素
$(tr:parent)
$(input:password)等同于$(input[type=password])
$(input:radio)等同于$(input[type=radio])
$(input:reset)等同于$(input[type=reset])或$(button[type=reset])
$('.clssname:selected')
$(input:submit)等同于$(input[type=submit])或$(button[type=submit])
$(input:text)等同于$(input[type=text])
$(div:visible)

3、处理DOM元素  

操作元素的属性:

$('*').each(function(n){
 this.id = this.tagName + n;
})

获取属性值:

$('').attr('');

设置属性值:

$('*').attr('title', function(index, previousValue){
 return previousValue + ' I am element ' + index + ' and my name is ' + this.id;
}) //为一个属性设置值
$('input').attr({
 value: '',
 title: ''
}); //为多个属性设置值

删除属性:

$('p').removeAttr('value');

让所有链接都在新窗口中打开:

$('a[href^="http://"]').attr('target',"_blank");

避免表单多次提交:

$("form").submit(function(){
 $(":submit", this).attr("disabled","disabled");
})

添加类名:

$('#id').addClass('')

删除类名:

$('#id').removeClass('')

切换类名:

$('#id').toggleClass('')

存在就删除类名,不存在就添加类名
判断是否含有类名:

$('p:first').hasClass('') $('p:first').is('')

以数组形式返回类名列表:

$.fn.getClassNames = function(){
 var name = this.attr('someclsssname');
 if(name != null){
 return name.split(" ");
 }
 else
 {
 return [];
 }
}

设置样式:

$('div.someclassname').css(function(index, currentWidth){
 return currentWidth + 20;
});
$('div').css({
 cursor: 'pointer',
 border: '1px solid black',
 padding: '12px 12px 20px 20x',
 bacgroundColor: 'White'
});

有关尺寸:

$(div).width(500)
$('div').height()
$('div').innerHeight()
$('div').innerWidth()
$('div').outerHeight(true)
$('div').outerWidth(false)

有关定位:

$('p').offset()相对于文档的参照位置
$('p').position()偏移父元素的相对位置
$('p').scrollLeft()水平滚动条的偏移值
$('p').scrollLeft(value)
$('p').scrollTop()
$('p').scrollTop(value)

有关元素内容:

$('p').html()
$('p').html('')
$('p').text()
$('p').text('')

追加内容

在元素末尾追加一段html:

$('p').append('<b>some text</b>');

在元素末尾dom中现有的元素:

$('p').append($(a.someclassname))

在元素开头追加:

$("p").prepend()

在元素的前面追加:

$("span").before()

在元素的后面追加:

$("span")after()

把内容追加到末尾:

appendTo(targets)

把内容追加到开头:

prependTo(targets)

把内容追加到元素前面:

insertBefore(targets)

把内容追加到元素后面:

$('<p></p>').insertAfter('p img');

包裹元素:

$('a.someclassname').wrap("

")
$('a.someclassname').wrap($("div:first")[0])
$('a.someclassname').wrapAll()
$('a.someclassname').wrapInner()
$('a.someclassname').unWrap()

删除元素:

$('.classname').remove()删除元素,绑定到元素上的事件和数据也会被删除
$('.classname').detach()删除元素,但保留事件和数据
$('.classname').empty()不删除元素,但清空元素内容

复制元素:

$('img').clone().appendTo('p.someclassname')
$('ul').clone().insertBefore('#id')

替换元素:

$('img[alt]').each(function(){
 $(this).replaceWith('<span>' + $(this).attr('alt') + '</span>');
})
$("p").replaceAll("<b></b>")

关于表单元素的值:

$('[name="radioGroup"]:checked').val()获取单选按钮的值,如果没有选中一个,返回undefined
var checkboxValues = $('[name="checkboxGroup"]:checked').map(function(){
 return $(this).val();
}).toArray(); //获取多选框的值

对于

相信本文所述对大家的jQuery程序设计有一定的借鉴价值。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
jquery实现多少秒后隐藏图片jquery实现多少秒后隐藏图片Apr 20, 2022 pm 05:33 PM

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

axios与jquery的区别是什么axios与jquery的区别是什么Apr 20, 2022 pm 06:18 PM

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

jquery怎么修改min-height样式jquery怎么修改min-height样式Apr 20, 2022 pm 12:19 PM

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

jquery怎么在body中增加元素jquery怎么在body中增加元素Apr 22, 2022 am 11:13 AM

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

jquery中apply()方法怎么用jquery中apply()方法怎么用Apr 24, 2022 pm 05:35 PM

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

jquery怎么删除div内所有子元素jquery怎么删除div内所有子元素Apr 21, 2022 pm 07:08 PM

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

jquery on()有几个参数jquery on()有几个参数Apr 21, 2022 am 11:29 AM

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

jquery怎么去掉只读属性jquery怎么去掉只读属性Apr 20, 2022 pm 07:55 PM

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),