来源:自学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