jQuery学习笔记(在js中增加、删除及定位控件的操作)
代码内容很多都是从amazeui直接copy过来的,先声明,请不要说在下抄袭- -
<!-------------------- HTML代码 ---------------------->
<div class="am-tabs" data-am-tabs="{noSwipe: 1}" id="topbar">
<!--data-am-tabs 禁止触控-->
<ul class="am-nav am-tabs-nav am-nav-tabs" id="my-tabs">
<!--.am-nav-tabs --- 标签式导航-->
<li class="am-active"><a href="javascript: void(0)">流浪</a></li> <!--javascript:void(0)表示不做任何实际链接-->
<li><a href="javascript: void(0)">流浪</a></li>
<li><a href="javascript: void(0)">再流浪</a></li>
</ul>
<!--------------- 这里nav和tabs-bd好像可以自动一一对应 ---------------------->
<div class="am-tabs-bd">
<div class="am-tab-panel am-active">
...
</div>
<div class="am-tab-panel">
...
</div>
<div class="am-tab-panel">
...
</div>
</div>
</div>
今天看了一下jQuery部分关于选项卡的设置,学到了一些关于控件的增删操作,在此稍微笔记一下。
var $bd = $('#topbar').find('.am-tabs-bd'); /*这里可以注意到find的用法*/
这行代码是找到ID为‘topbar’的子元素中含有类名为'.am-tabs-bd'的控件,并且获得其id。
var newTabs = '<li><span class="am-icon-close"></span>' +
'<a href="javascript: void(0)">标签 ' + tabcounter + '</a></li>';
这段代码是定义一个li标签,选项卡中的一个选项。注意其中‘+’号的用法,将字符串拼接在一起。
$mytabs.append(newTabs);
在后代中直接插入newTabs,注意newTabs已经是一个控件
$mytabs.on('click','.am-icon-close', function(){
var $item = $(this).closest('li'); //找到离这个叉号最近(第一个能匹配的)的li标签(祖先元素),并且获得其id
var index = $mytabs.children('li').index($item); // 找到该li标签对应的下标
$item.remove();
$bd.find('.am-tab-panel').eq(index).remove(); //删除标签相应的内容
$mytabs.tabs('open',index-1); // 定位到删除的标签的前一个标签
$mytabs.tabs('refresh');
})
事件监听函数on()中,有一个'.am-icon-close',表示当鼠标点击具有该类的控件时,触发function()中的操作
closet('.class')函数是寻找该控件的第一个符合class这个类的祖先元素。
$mytabs.children('li').index($item)中,children('object')寻找子元素中的object标签,并且把id为‘$item’的object标签的标号返回。
eq(index)是找到标号为index的标签,并且返回其ID。
(下面一段代码来自jQuery官网)
$( "#go" ).click(function() {
$( ".block:first" ).animate({
left: 100
}, {
duration: 1000,
step: function( now, fx ){
// now: 每一步动画下的属性值
$( ".block:gt(0)" ).css( "left", now );
}
});
});
这里的$(".block:first")是选择具有类"block"的第一个控件
$(".block:gt(0)")是选择具有类"block"的,标号大于0的控件,即除了第一个控件外。
jQuery学习笔记(在js中增加、删除及定位控件的操作)的更多相关文章
- AppleWatch___学习笔记(二)UI布局和UI控件
1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...
- 【Android开发学习笔记】【第四课】基础控件的学习
通过一个简单的例子来学习下面几种控件: 1.TextView:简单的文本显示控件 2.EditText:可以编辑的文本框 3.Button:按钮 4.Menu:这里指的是系统的Menu 5.Toast ...
- 关于vue.js中v-model与表单控件的双向绑定。
单选框:<input type="checkbox" id="checkbox" v-model="checked"><l ...
- WPF中增加Month Calendar月历控件
XAML代码:(这里使用了codeproject.com网站上的一个Dll,你可以在这里下载它:http://www.codeproject.com/cs/miscctrl/MonthCalendar ...
- Jquery学习笔记(10)--ajax删除用户,使用了js原生ajax
主要复习了php的pdo数据库操作,和js的ajax,真麻烦,希望jquery的ajax简单点. index.php: <!DOCTYPE html> <html lang=&quo ...
- 【学习笔记】js中undefined和null的区别和联系
在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undef ...
- 每日学习笔记:js中可以直接用id名调用的问题?
在JavaScript中,标准的id选择器调用语法是: document.getElementById('myid').style.width = pc + "%"; 但是,今天发 ...
- [学习笔记]node.js中的path.extname方法
path.extname 返回path路径文件扩展名,如果path以 ‘.' 为结尾,将返回 ‘.',如果无扩展名 又 不以'.'结尾,将返回空值. path.extname('index.html' ...
- JS动态增加页面上的控件实例
<input type="button" value="继续添加" onclick="append();"/ > & ...
随机推荐
- windows2003 DHCP中批处理绑定IP与MAC
最近正在实施Windows Server 2008 R2 DHCP服务器部署,要求把员工的IP地址和MAC以及姓名完成在DHCP服务器上的绑定,使用的系统是windows2003-x64,要添加的用户 ...
- php中判断字符串是否全是中文或含有中文的实现代码
<?php header('Content-type:text/html; charset=utf-8'); $str = '你好'; if(preg_match('/^[\x{4e00}-\x ...
- xmind8
win10企业版安装 xmind.zip,打开应用程序报下面的错 解决办法是 先备份xmind8下的XMind.ini文件 Open up Xmind.ini and replace "Ap ...
- Centos6---Fail2ban
1.安装: rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm yum -y install ...
- [2014.01.27]wfPrintOcx 票据打印控件 v5.3
支持选择打印机,并自动记忆选择的打印机. 适合打印各类票据格式. 支持画正方形.长方形.圆形.椭圆.横线.竖线.HTTP图片. 支持数字金额转换成中文大写金额. 可以设置固定宽度的文字自动换行. 组件 ...
- Maven间接依赖冲突解决办法
如果项目中maven依赖太多,由于还有jar之间的间接依赖,所以可能会存在依赖冲突.依赖冲突大部分都是由于版本冲突引起的,查看maven的依赖关系,可以找到引起冲突的间接依赖 如上图,通过Depend ...
- .NET 4.0运行.NET 2.0兼容方法
需要在相同目录下放一个.config文件,例如xxx.exe,就需要一个xxx.exe.config文件,内容如下: <?xml version="1.0"?> < ...
- 【Telnet】使用Telnet协议连接到远程Shell执行脚本
介绍 本文介绍如何通过Telnet协议连接到远程Shell,执行脚本,并获取执行结果: 相关文章: <[Jsch]使用SSH协议连接到远程Shell执行脚本>http://www.cnbl ...
- nodeJS---express4+passport实现用户注册登录验证
网上有很多关于passport模块使用方法的介绍,不过基本上都是基于express3的,本文介绍在express4框架中使用passport模块. 前言 passport是一个功能单一,但非常强大的一 ...
- S5Time BCD码存储
,时基为1秒. 当使用S5TIME时,定义数值的范围为0~999,而且要指明使用的时基.时基指定了时间单位. S5TIME时基及相应的时间范围如下: 时基 BCD码 时间范围 10 ms 00 10 ...