您的位置:首页 > Web前端 > JQuery

jquery选择器

2020-04-04 12:08 1336 查看

jQuery简介 版本选择
是一个原生js的封装库,解决了大部分的兼容性问题,大大降低了原生js的操作难度
主要封装了 选择器 动画效果 事件 DOM操作 Ajax(异步加载)

/获得TEXT.AREATEXT的值/
var textval = $("#text_id").attr(“valuehttps://blog.csdn.net/caiweijiancsdn/article/details/”);
//或者
var textval = $("#text_id").val();
/获取单选按钮的值/
var valradio = $(“input[@type=radio][@checked]https://blog.csdn.net/caiweijiancsdn/article/details/”).val();
/获取一组名为(items)的radio被选中项的值/
var item = $(‘input[@name=items][@checked]’).val();
/获取复选框的值/
var checkboxval = $("#checkbox_id").attr(“valuehttps://blog.csdn.net/caiweijiancsdn/article/details/”);
/获取下拉列表的值/
var selectval = $(’#select_id’).val();

//文本框,文本区域:
$("#text_id").attr(“valuehttps://blog.csdn.net/caiweijiancsdn/article/details/”,’’);//清空内容
$("#text_id").attr(“valuehttps://blog.csdn.net/caiweijiancsdn/article/details/”,‘test’);//填充内容
//多选框checkbox:
$("#chk_id").attr(“checkedhttps://blog.csdn.net/caiweijiancsdn/article/details/”,’’);//使其未勾选
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲chk_id").attr("…("#chk_id").attr(‘checked’)==true) //判断是否已经选中

//单选组radio:

$(“input[@type=radio]https://blog.csdn.net/caiweijiancsdn/article/details/”).attr(“checkedhttps://blog.csdn.net/caiweijiancsdn/article/details/”,‘2’);//设置value=2的项目为当前选中项

//下拉框select:
$("#select_id").attr(“valuehttps://blog.csdn.net/caiweijiancsdn/article/details/”,‘test’);//设置value=test的项目为当前选中项
$(“testtest2https://blog.csdn.net/caiweijiancsdn/article/details/”).appendTo("#select_id")//添加下拉框的option
$("#select_id").empty();//清空下拉框

获取一组名为(items)的radio被选中项的值
var item = $(‘input[@name=items][@checked]’).val();//若未被选中 则val() = undefined
获取select被选中项的文本
var item = $(“select[@name=items] option[@selected]https://blog.csdn.net/caiweijiancsdn/article/details/”).text();
select下拉框的第二个元素为当前选中值
$(’#select_id’)[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$(‘input[@name=items]’).get(1).checked = true;

//重置表单
$(“formhttps://blog.csdn.net/caiweijiancsdn/article/details/”).each(function(){
.reset();
});

  1. 选取元素
    $(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”)效果等于document.getElementById(https://blog.csdn.net/caiweijiancsdn/article/details/”myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”), 但是写的字符要少好多啊.

如果需要将jQuery对象转换成html元素, 则只需要取其第0个元素即可. 例如KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”)返回的是jQuer…(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”)[0]返回的就是html元素

如果选择所有的img元素, 那么这么写: $(https://blog.csdn.net/caiweijiancsdn/article/details/”imghttps://blog.csdn.net/caiweijiancsdn/article/details/”)

如果选择带有class=https://blog.csdn.net/caiweijiancsdn/article/details/”TextBoxhttps://blog.csdn.net/caiweijiancsdn/article/details/”的div元素(

), 那么这么写: $(https://blog.csdn.net/caiweijiancsdn/article/details/”div.TextBoxhttps://blog.csdn.net/caiweijiancsdn/article/details/”)

选择带有myattr属性的元素(https://blog.csdn.net/caiweijiancsdn/article/details/”div[myattr]https://blog.csdn.net/caiweijiancsdn/article/details/”)选择带有myattr属性,并且属性值等于myclass的元素(https://blog.csdn.net/caiweijiancsdn/article/details/”div[myattr]https://blog.csdn.net/caiweijiancsdn/article/details/”) 选择带有myattr属性, 并且属性值等于myclass的元素(https://blog.csdn.net/caiweijiancsdn/article/details/”div[myattr]https://blog.csdn.net/caiweijiancsdn/article/details/”)选择带有myattr属性,并且属性值等于myclass的元素(https://blog.csdn.net/caiweijiancsdn/article/details/”div[myattr=‘myclass’]https://blog.csdn.net/caiweijiancsdn/article/details/”)
属性不等于[myattr!=‘myclass’]
属性以my开头[myattr^=‘my’]
属性以class结尾[myattr$=‘class’]
属性包含cla这三个字符[myattr*=‘cla’]

如果一个选择会返回多个元素, 并且希望每返回一个元素, 就把某些属性应用到该元素上, 可以这么写
$(https://blog.csdn.net/caiweijiancsdn/article/details/”divhttps://blog.csdn.net/caiweijiancsdn/article/details/”).each(function()
{
KaTeX parse error: Expected 'EOF', got '#' at position 33: …round-colorhttps://blog.csdn.net/caiweijiancsdn/article/details/”, “#̲F00″); alert((this).html());
$(this).width(https://blog.csdn.net/caiweijiancsdn/article/details/”200pxhttps://blog.csdn.net/caiweijiancsdn/article/details/”);
});

2.事件
给页面加onload事件处理方法
$(function()
{
alert(https://blog.csdn.net/caiweijiancsdn/article/details/”页面结构加载完毕, 但是可能某些图片尚未加载(一般情况下, 此事件就够用了)https://blog.csdn.net/caiweijiancsdn/article/details/”);
});

可以给页面绑定多个onload事件处理方法
$(function()
{
alert(https://blog.csdn.net/caiweijiancsdn/article/details/”我首先被执行https://blog.csdn.net/caiweijiancsdn/article/details/”);
});

$(function()
{
alert(https://blog.csdn.net/caiweijiancsdn/article/details/”我第二被执行https://blog.csdn.net/caiweijiancsdn/article/details/”);
});

绑定特殊事件
$(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).keydown(function()
{
alert(https://blog.csdn.net/caiweijiancsdn/article/details/”触发了keydown事件https://blog.csdn.net/caiweijiancsdn/article/details/”);
});

除了这些常用的, 不常用的事件需要通过bind方法绑定

  1. 元素属性/方法
    得到一个元素的高度, $(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).height()
    得到一个元素的位置, KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).offset()…(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).offset().top,?取left则$(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).offset().left
    得到一个元素的innerHTML, $(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).html()
    得到一个元素的innerText, $(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).text()
    得到一个文本框的值, $(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).val()
    得到一个元素的属性, $(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).attr(https://blog.csdn.net/caiweijiancsdn/article/details/”myattributehttps://blog.csdn.net/caiweijiancsdn/article/details/”)

以上这些方法有个基本特征, 就是不带参数表示取值, 带有参数表示设定值(除了offset), 例如
$(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).height(https://blog.csdn.net/caiweijiancsdn/article/details/”20″);
$(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).html(https://blog.csdn.net/caiweijiancsdn/article/details/”asdasdhttps://blog.csdn.net/caiweijiancsdn/article/details/”)
$(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).val(https://blog.csdn.net/caiweijiancsdn/article/details/”asdasdhttps://blog.csdn.net/caiweijiancsdn/article/details/”)

需要注意, offset是只读的.

给一个元素设置属性 $(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).attr(https://blog.csdn.net/caiweijiancsdn/article/details/”widthhttps://blog.csdn.net/caiweijiancsdn/article/details/”, “20%https://blog.csdn.net/caiweijiancsdn/article/details/”)
读取一个属性 $(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).attr(https://blog.csdn.net/caiweijiancsdn/article/details/”widthhttps://blog.csdn.net/caiweijiancsdn/article/details/”)
一次指定多个属性 KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).attr({di…(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).removeAttr(https://blog.csdn.net/caiweijiancsdn/article/details/”disabledhttps://blog.csdn.net/caiweijiancsdn/article/details/”)

应用样式KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).addClass…(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).removeClass(https://blog.csdn.net/caiweijiancsdn/article/details/”myclasshttps://blog.csdn.net/caiweijiancsdn/article/details/”)

加一个样式KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).css(https://blog.csdn.net/caiweijiancsdn/article/details/”hei…(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).css({height:https://blog.csdn.net/caiweijiancsdn/article/details/”20pxhttps://blog.csdn.net/caiweijiancsdn/article/details/”, width:https://blog.csdn.net/caiweijiancsdn/article/details/”100pxhttps://blog.csdn.net/caiweijiancsdn/article/details/”})
需要注意的是: 如果是加一个样式, 这个样式的名字是css中的名字, 比如说style=https://blog.csdn.net/caiweijiancsdn/article/details/”background-color:#FF0000″, 对应的jQuery写法是KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).css(https://blog.csdn.net/caiweijiancsdn/article/details/”bac…(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).css({backgroundColor:https://blog.csdn.net/caiweijiancsdn/article/details/”#FF0000″})

  1. 根据关系查找元素
    找和自己同级的下一个元素KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).next() …(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).nextAll()
    找和自己同级的上一个元素KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).prev() …(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).prevAll()
    找自己的第一代子元素KaTeX parse error: Expected 'EOF', got '#' at position 3: (https://blog.csdn.net/caiweijiancsdn/article/details/”#̲myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).children…(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).parent()
    找自己的所有父元素$(https://blog.csdn.net/caiweijiancsdn/article/details/”#myidhttps://blog.csdn.net/caiweijiancsdn/article/details/”).parents()
    例子:
    KaTeX parse error: Expected '}', got 'EOF' at end of input: …ion() { alert((this).html());
    });

会把class=l4的div的所有父元素都得到, 并且alert出他们的html

例子:
KaTeX parse error: Expected '}', got 'EOF' at end of input: …tion() { alert((this).html()); });
会得到class=l4的父元素, 该父元素必须是div, 而且其class=l2

这里说的所有方法, 都可以带表达式, 表达式的写法参考第一部分

  1. 维护元素
    在body中增加一个元素
    $(https://blog.csdn.net/caiweijiancsdn/article/details/”bodyhttps://blog.csdn.net/caiweijiancsdn/article/details/”).append(https://blog.csdn.net/caiweijiancsdn/article/details/”https://blog.csdn.net/caiweijiancsdn/article/details/”)
    该语句会把这段html插入到body结束标签之前, 结果是

$(https://blog.csdn.net/caiweijiancsdn/article/details/”bodyhttps://blog.csdn.net/caiweijiancsdn/article/details/”).prepend(https://blog.csdn.net/caiweijiancsdn/article/details/”https://blog.csdn.net/caiweijiancsdn/article/details/”)
该语句会把这段html插入到body开始标签之后, 结果是

6.AJAX
用get方法请求一个页面
$.get(https://blog.csdn.net/caiweijiancsdn/article/details/”http://www.google.comhttps://blog.csdn.net/caiweijiancsdn/article/details/”, “q=jqueryhttps://blog.csdn.net/caiweijiancsdn/article/details/”, function(data, status){alert(data)})
表示请求http://www.google.com, 参数是q, 参数的值是jquery, 请求结束后(不管成功还是失败)执行后面的function, 该function有两个固定参数, data和status, data是返回的数据, status是本次请求的状态

用post方法请求一个页面
$.post(………) 参数同get方法

7.其他方法
$.trim(str) 将str前后空格去掉
$.browser 返回当前用户浏览器的类型
$.browser.version返回当前浏览器的版本

  1. 插件
    jQuery支持插件, http://jquery.com/plugins/上面有很多现成的插件, 也可以自己写
    自己写插件, 请参考http://docs.jquery.com/Core/jQ…end#object 和http://docs.jquery.com/Core/jQuery.extend#object

1,下拉框:
var cc1 = $(".formc select[@name=‘country’] option[@selected]").text(); //得到下拉菜单的选中项的文本(注意中间有空格)
var cc2 = $(’.formc select[@name=“countryhttps://blog.csdn.net/caiweijiancsdn/article/details/”]’).val(); //得到下拉菜单的选中项的值
var cc3 = $(’.formc select[@name=“countryhttps://blog.csdn.net/caiweijiancsdn/article/details/”]’).attr(“idhttps://blog.csdn.net/caiweijiancsdn/article/details/”); //得到下拉菜单的选中项的ID属性值
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲select").empty(…("#select").html(’’);
$(“1111https://blog.csdn.net/caiweijiancsdn/article/details/”).appendTo("#select")//添加下拉框的option
稍微解释一下:
1.select[@name=‘country’] option[@selected] 表示具有name 属性,
并且该属性值为’country’ 的select元素 里面的具有selected 属性的option 元素;
可以看出有@开头的就表示后面跟的是属性。

2,单选框:
$(“input[@type=radio][@checked]https://blog.csdn.net/caiweijiancsdn/article/details/”).val(); //得到单选框的选中项的值(注意中间没有空格)
$(“input[@type=radio][@value=2]https://blog.csdn.net/caiweijiancsdn/article/details/”).attr(“checkedhttps://blog.csdn.net/caiweijiancsdn/article/details/”,‘checked’); //设置单选框value=2的为选中状态.(注意中间没有空格)

3,复选框:
$(“input[@type=checkbox][@checked]https://blog.csdn.net/caiweijiancsdn/article/details/”).val(); //得到复选框的选中的第一项的值
KaTeX parse error: Expected '}', got 'EOF' at end of input: …以可以循环输出 alert((this).val());
});

$("#chk1").attr(“checkedhttps://blog.csdn.net/caiweijiancsdn/article/details/”,’’);//不打勾
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲chk2").attr("ch…("#chk1").attr(‘checked’)==undefined){} //判断是否已经打勾

jquery给input赋值val(val)
val(val)是jquery函数,最容易混淆的是获取input的函数是val();
区别非常小,一个是带参数,一个是不带参数;

$("#user").val(""); 清空ID为user的值;

以下是一段常用的在登录时在文本框内用文字提示用户输入的代码

$(document).ready(function() {
$("#user").addClass(‘phplike_blur’);
$("#password").addClass(‘phplike_focus’); //添加样式,如果无,可以不写
$("#user").focus(function(){ $(this).removeClass(‘phplike_blur’);

if ($("#user").val() == ‘输入手机号码或邮箱’) //如果值为提示信息,获得焦点时,清空提示信息,样式说明在此省略
{ (this).addClass(′phplikefocus′);(this).addClass('phplike_focus');(this).addClass(′phplikef​ocus′);("#user").val(""); }

else { $(this).removeClass(‘phplike_blur’); }
}) $("#user").blur(function(){

if ($("#user").val() == ‘’) //失去焦点时,如果文本框内容为空,则显示提示信息
{ $("#user").val(“输入手机号码或邮箱https://blog.csdn.net/caiweijiancsdn/article/details/”);
$(this).addClass(‘phplike_blur’); }
})
})

  • 点赞
  • 收藏
  • 分享
  • 文章举报
caiweijiancsdn 发布了48 篇原创文章 · 获赞 0 · 访问量 1033 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: