来源:自学PHP网 时间:2014-11-29 13:28 作者: 阅读:次
[导读] 这篇文章主要介绍了jQuery针对各类元素操作基础,包括jQuery基础操作、选择要操作的元素及处理DOM元素等,是深入学习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对象元素: jquery对象集转换成javascript数组: var arr = $('label+button').toArray() label后面所有同级button元素,转换成javascript数组 jquery对象集的索引: 向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对象集: 获取jquery对象集的子集 转换jquery对象集中的元素: var allIds = $('div').map(function(){ return (this.id==undefined) ? 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对象集: 其它获取jquery对象集的方式: $(this).find(p span) 判断是否是某个jquery对象集: var hasImg = $('*').is('img'); jquery方法: jquery选择器: jquery函数: 创建DOM元素: $('<p></p>').insertAfter(); $('<img>',{ 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测试元素是否存在: 2、选择要操作的元素 根据标签名:$('a') 某元素后的第一个元素:$(E+F)匹配的是F,F是E后面的第一个元素 某元素后的某一个元素:$(E~F)匹配的是F,F是E后面的某一个元素 通过位置: 通过过滤器: 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' }); 有关尺寸: 追加内容 $('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'); 包裹元素: 删除元素: 复制元素: $('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(); //获取多选框的值 对于<select id="list" multiple="multiple">使用$('#list').val()返回值的数组 相信本文所述对大家的jQuery程序设计有一定的借鉴价值。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com