Python 前端开发之jQuery绑定事件及操作标签
一、jQuery绑定事件(更多)
为button按钮绑定单击事件,单机按钮弹出警告框 $('button').click( function () { alert('wahaha') } )
二、jQuery操作标签
1、标签内文本操作
//获取值:获取选中标签元素中所有的内容 $('#box').html(); //设置值:设置该元素的所有内容 会替换掉 标签中原来的内容 $('#box').html('百度一下');
//获取值:获取选中标签元素中的文本内容 $('#box').text(); //设置值:设置该所有的文本内容 $('#box').text('百度一下');
注意:text()方法接收的值为标签的时候 不会被渲染为标签元素 只会被当做值渲染到浏览器中
2、文档标签操作
之前js中咱们学习了js的DOM操作,也就是所谓的增删改查DOM操作。通过js的DOM的操作,大家也能发现,大量的繁琐代码实现我们想要的效果。那么jQuery的文档操作的API提供了便利的方法供我们操作我们的文档。
看一个之前我们js操作DOM的例子:
var oUl = document.getElementsByTagName('ul')[0]; var oLi = document.createElement('li'); oLi.innerHTML = '赵云'; oUl.appendChild(oLi);
//追加某元素,在父元素中添加新的子元素。子元素可以为:stirng | element(js对象) | jquery元素 父元素.append(子元素) //追加到某元素,子元素添加到父元素 子元素.appendTo(父元素)
//append var oli = document.createElement('li'); oli.innerHTML = '哈哈哈'; $('ul').append('
PS:如果追加的jquery对象原本在文档树中,那么这些元素将从原位置上消失。简言之,就是移动操作。
// 前置添加, 添加到父元素的第一个位置 父元素.prepend(子元素); // 前置添加, 添加到父元素的第一个位置 子元素.prependTo(父元素);
// prepand $('ul').prepend('
// 在匹配的元素之后插入内容 兄弟元素.after(要插入的兄弟元素); 要插入的兄弟元素.inserAfter(兄弟元素); $('ul').after('
我是一个h3标题
') $('我是一个h2标题
').insertAfter('ul')// 在匹配的元素之前插入内容 兄弟元素.before(要插入的兄弟元素); 要插入的兄弟元素.inserBefore(兄弟元素); //示例 $('ul').before('
我是一个h3标题
') $('我是一个h2标题
').insertBefore('ul')//删除节点后,事件也会删除(简言之,删除了整个标签) $(selector).remove(); // 删除节点后,事件会保留 $(selector).detach(); // 清空选中元素中的所有后代节点 $(selector).empty();
// remove $('ul').remove(); // detach var $btn = $('button').detach() $('ul').append($btn) //此时按钮能追加到ul中 //empty $('ul').empty() //清空掉ul中的子元素,保留ul
// selector被替换:将所有匹配的元素替换成指定的string、js对象、jquery对象。 $(selector).replaceWith(content); // selector被替换:将所有的匹配的元素替换成p标签。 $('
哈哈哈
')replaceAll(selector);// replaceWith $('h5').replaceWith('hello world') //将所有的h5标题替换为a标签 $('h5').replaceWith($('#app')); //将所有h5标题标签替换成id为app的dom元素 // replaceAll $('
').replaceAll('h4')
// 克隆匹配的DOM元素 $(选择器).clone();
$('button').click(function() { // 1.clone():克隆匹配的DOM元素 // 2.clone(true):元素以及其所有的事件处理并且选中这些克隆的副本(简言之,副本具有与真身一样的事件处理能力) $(this).clone(true).insertAfter(this); })
3、属性操作
//获取值:attr()设置一个属性值的时候 只是获取值 $('div').attr('id') $('div').attr('class') //设置值 $('div').attr('class','box') //设置一个值 $('div').attr({name:'hahaha',class:'happy'}) //设置多个值
//删除单个属性 $('#box').removeAttr('name'); $('#box').removeAttr('class'); //删除多个属性 $('#box').removeAttr('name class');
// 查看属性 $(selector).prop(property) // 设置属性 $(selector).prop(property,value) // 设置多个属性 $(selector).prop({property:value, property:value,...})
$('input').attr('checked') "checked" $('input').prop('checked') true $('input').prop('cheched',false) //设置取消选中
表格全选、反选示例:
# | 姓名 | 爱好 |
---|---|---|
金老板 | 开车 | |
alex | 抽烟、喝酒、烫头 | |
苑昊(苑局) | 不洗头、不翻车、不要脸 |
// 如果存在(不存在)就删除(添加)一个类。 $('div').toggleClass('box') $('span').click(function(){ //动态的切换class类名为active $(this).toggleClass('active') })
5、val 表单控件value属性
// 获取值:用于表单控件中获取值,比如input textarea select等等 $(selector).val() // 设置值: $('input').val('设置了表单控件中的值');
示例: