当前位置: 首页 > news >正文

jquery常用技巧拾贝

本文目的

使用jQuery有一段时间,积累了一些使用技巧,记录在这里,方便日后查阅。jQuery的确实现了对用户的承若 —— “Write Less, Do More”。

 

文本框 <input type=’text’/>

html页面代码:<input id="id_demo_text" type="text"/>

获取文本框输入: var sTxt = $(‘#id_demo_text’).val();  // sTxt变量现在的值为文本框的输入

设置文本框:$(‘#id_demo_text’).val(‘some text that will be shown in the text box’);

P.S.: 注意访问控件时,id前面有个‘#’号。

 

单选框 <input type=’radio’/>

html页面代码:

<input type="radio" id="rb_start" name="rb_status" value="0" >启动</input>

<input type="radio" id="rb_stop" name="rb_status" value="1">停止</input>

 

获取单选框选项:

var sSelectedVal = $(‘input:[name=rb_status]:radio:checked’).val();

// sSelectedVal得到被选择的单选框的value

 

设置单选框:

var nSelected = 0;   // 0:“启动”被选上,1:“停止”被选上

$("input[name='rb_status'][value='" + nSelected + "']").attr("checked",true);

 

多选框 <input type=’checkbox’/>

html页面代码:<input id="cb_alarm" type="checkbox" value="1">香蕉</input>

 

判断是否被选中:

var bSelected = $(“#cb_alarm”).is(“:chekced”);  // bSelected为 true表示被勾选,否则为false

 

设置多选框:

var bSelected = true;  // true设置选择,false取消选择

$(“#cb_alarm”).attr(‘checked’, bSelected);

 

【全选/反选】控制,html代码如下:
<input type=”checkbox” id=”select_all”>全选/反选</input>
<input type=”checkbox” name=”opt” value=”1”>选项1</item>
<input type=”checkbox” name=”opt” value=”2”>选项2</item>
<input type=”checkbox” name=”opt” value=”3”>选项3</item>
<input type=”checkbox” name=”opt” value=”4”>选项4</item>
现在想要点击【全选/反选】多选框,完成对选项1-4的批量抄作,代码如下:
$(“#select_all”).click(function(){
    $(“input[name=’opt’]”).attr(“checked”, $(this).is(“:checked”));
});
上面的代码绑定了select_all的click时间,在点击select_all后,根据当前select_all状态批量修改选项1-4的状态。
如果想获取选项1-4中选取的value呢?代码如下:
var selected = [];
$(“input[name=’opt’]”).each(function(){
    if ($(this).is(“:checked”)) {
        selected.push($(this).val());
    }
});
这样,后面selected数组中的值就是选择的check的value值列表。

 

 

下拉菜单<select>

html页面代码:

<select id=”select_id”>

         <option value=”banana”>香蕉</option>

         <option value=”appale”>苹果</option>

         <option value=”pear”>鸭梨</option>

</select>

 

获取当前选中的值:

var sCurVal = $(“#select_id”).val(); // 与文本框相同

 

获取当前选中的option dom对象(有时需要访问到选择的option的文本):

var opt = $(“#select_id”).children(“option:selected”);

 

设置当前选中值

var sVal = “apple”; // 显示value对应的option

$(“#select_id”).val(sVal);

 

多属性选择器

除了id可以用来精确定位dom元素,多属性选择器也可以哦!看看下面的列子:

<ol>

         <li id=”only_0” name=”li_name” order=”0”></li>

         <li id=”only_1” name=”li_name” order=”1”></li>

         <li id=”only_2” name=”li_name” order=”2”></li>

         <li id=”only_3” name=”li_name” order=”3”></li>

</ol>

所以,可以用两种方式选取第二个li元素

id选择器:var opt = $(“#only_1”);

多属性选择器:var opt = $(“li[name=’li_name’][order=’1’]”);

多属性选择器虽然麻烦一点,但是却提高了灵活性,可以比较容易的通过js控制,而id一般不易灵活控制。order是自定义属性,也可以作为选取条件,是不是很好用!

 

动态绑定事件时传递参数

直接上例子

$(“#some_id”).click({param1:’hello’, param2: 2},function(event){

         alert(event.data.param1 + “ ” + event.data.param2);

});

值就是这样传递的,你猜他会输出什么?

 

总结

因为jquery使用了css选择器,使得代码变得简介,所以如果要使用好jquery,必须了解常用css选择器。CSS选择器帮助我们拿到具体的html dom对象,然后再通过jquery提供的api操作这些对象。

 

参考资料

  • jquery官方文档:http://docs.jquery.com/Main_Page
  • css 选择器:http://www.w3.org/TR/CSS2/selector.html
  • jQuery绑定事件时传递参数:http://stackoverflow.com/questions/3273350/jquery-click-pass-parameters-to-user-function

 

转载于:https://www.cnblogs.com/bourneli/archive/2012/05/27/2520377.html

相关文章:

  • C# 控件开发中常用属性整理
  • ACL技巧
  • asp.net 中sender 的理解
  • 如何正确理解面向对象 经典大白话
  • SQL Server 2008 函数大全(完整版)
  • 各存储厂商raid的区别-luoqiangb@dc
  • perl类似于shell_date的功能
  • WTL学习之对话框和控件
  • 人的一生需要看淡的几个方面
  • Smack 结合 Openfire服务器,建立IM通信,发送聊天消息
  • 数据字典存储事件实例
  • [转]MYSQL常用命令
  • Windows 下硬盘安装 fedora(Live CD)
  • SQL几个常用函数略解
  • b/s结构和c/s结构
  • [LeetCode] Wiggle Sort
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Node项目之评分系统(二)- 数据库设计
  • React 快速上手 - 07 前端路由 react-router
  • React组件设计模式(一)
  • springboot_database项目介绍
  • 半理解系列--Promise的进化史
  • 大整数乘法-表格法
  • 动态魔术使用DBMS_SQL
  • 搞机器学习要哪些技能
  • 基于webpack 的 vue 多页架构
  • 来,膜拜下android roadmap,强大的执行力
  • 聊聊flink的BlobWriter
  • 每天一个设计模式之命令模式
  • 爬虫模拟登陆 SegmentFault
  • 前嗅ForeSpider采集配置界面介绍
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 原生js练习题---第五课
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 移动端高清、多屏适配方案
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C#)获取字符编码的类
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (五)c52学习之旅-静态数码管
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)jdk与jre的区别
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ./configure、make、make install 命令
  • .NET 4.0中使用内存映射文件实现进程通讯
  • /var/spool/postfix/maildrop 下有大量文件
  • @Resource和@Autowired的区别
  • [android] 练习PopupWindow实现对话框
  • [Angular 基础] - 表单:响应式表单
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成