Python 前端開發(fā)之jQuery綁定事件及操作標(biāo)簽
一、jQuery綁定事件(更多)
為button按鈕綁定單擊事件,單機(jī)按鈕彈出警告框 $('button').click(????????function?()?{ ????????????alert('wahaha') ????????} )
二、jQuery操作標(biāo)簽
1、標(biāo)簽內(nèi)文本操作
//獲取值:獲取選中標(biāo)簽元素中所有的內(nèi)容 $('#box').html();?? //設(shè)置值:設(shè)置該元素的所有內(nèi)容?會(huì)替換掉?標(biāo)簽中原來的內(nèi)容 $('#box').html('百度一下');
//獲取值:獲取選中標(biāo)簽元素中的文本內(nèi)容 $('#box').text(); //設(shè)置值:設(shè)置該所有的文本內(nèi)容 $('#box').text('百度一下');
注意:text()方法接收的值為標(biāo)簽的時(shí)候 不會(huì)被渲染為標(biāo)簽元素 只會(huì)被當(dāng)做值渲染到瀏覽器中
2、文檔標(biāo)簽操作
之前js中咱們學(xué)習(xí)了js的DOM操作,也就是所謂的增刪改查DOM操作。通過js的DOM的操作,大家也能發(fā)現(xiàn),大量的繁瑣代碼實(shí)現(xiàn)我們想要的效果。那么jQuery的文檔操作的API提供了便利的方法供我們操作我們的文檔。
看一個(gè)之前我們js操作DOM的例子:
var?oUl?=?document.getElementsByTagName('ul')[0]; var?oLi?=?document.createElement('li'); oLi.innerHTML?=?'趙云'; oUl.appendChild(oLi);
//追加某元素,在父元素中添加新的子元素。子元素可以為:stirng?|?element(js對(duì)象)?|?jquery元素 父元素.append(子元素) //追加到某元素,子元素添加到父元素 子元素.appendTo(父元素)
//append var?oli?=?document.createElement('li'); oli.innerHTML?=?'哈哈哈'; $('ul').append('
PS:如果追加的jquery對(duì)象原本在文檔樹中,那么這些元素將從原位置上消失。簡(jiǎn)言之,就是移動(dòng)操作。
//?前置添加,?添加到父元素的第一個(gè)位置 父元素.prepend(子元素); //?前置添加,?添加到父元素的第一個(gè)位置 子元素.prependTo(父元素);
//?prepand $('ul').prepend('
//?在匹配的元素之后插入內(nèi)容? 兄弟元素.after(要插入的兄弟元素); 要插入的兄弟元素.inserAfter(兄弟元素); $('ul').after('
我是一個(gè)h3標(biāo)題
') $('我是一個(gè)h2標(biāo)題
').insertAfter('ul')//?在匹配的元素之前插入內(nèi)容 兄弟元素.before(要插入的兄弟元素); 要插入的兄弟元素.inserBefore(兄弟元素);? //示例 $('ul').before('
我是一個(gè)h3標(biāo)題
') $('我是一個(gè)h2標(biāo)題
').insertBefore('ul')//刪除節(jié)點(diǎn)后,事件也會(huì)刪除(簡(jiǎn)言之,刪除了整個(gè)標(biāo)簽) $(selector).remove();? //?刪除節(jié)點(diǎn)后,事件會(huì)保留 $(selector).detach();? //?清空選中元素中的所有后代節(jié)點(diǎn) $(selector).empty();
//?remove $('ul').remove(); //?detach var?$btn?=?$('button').detach() $('ul').append($btn)?//此時(shí)按鈕能追加到ul中 //empty $('ul').empty()?//清空掉ul中的子元素,保留ul
//?selector被替換:將所有匹配的元素替換成指定的string、js對(duì)象、jquery對(duì)象。 $(selector).replaceWith(content); //?selector被替換:將所有的匹配的元素替換成p標(biāo)簽。 $('
哈哈哈
')replaceAll(selector);//?replaceWith? $('h5').replaceWith('hello?world')?//將所有的h5標(biāo)題替換為a標(biāo)簽 $('h5').replaceWith($('#app'));?//將所有h5標(biāo)題標(biāo)簽替換成id為app的dom元素 //?replaceAll $('
').replaceAll('h4')
//?克隆匹配的DOM元素 $(選擇器).clone();
$('button').click(function()?{? ????//?1.clone():克隆匹配的DOM元素 ????//?2.clone(true):元素以及其所有的事件處理并且選中這些克隆的副本(簡(jiǎn)言之,副本具有與真身一樣的事件處理能力) ????$(this).clone(true).insertAfter(this); })
3、屬性操作
//獲取值:attr()設(shè)置一個(gè)屬性值的時(shí)候?只是獲取值 $('div').attr('id') $('div').attr('class') //設(shè)置值 $('div').attr('class','box')?//設(shè)置一個(gè)值 $('div').attr({name:'hahaha',class:'happy'})?//設(shè)置多個(gè)值
//刪除單個(gè)屬性 $('#box').removeAttr('name'); $('#box').removeAttr('class'); //刪除多個(gè)屬性 $('#box').removeAttr('name?class');
//?查看屬性 $(selector).prop(property) //?設(shè)置屬性 $(selector).prop(property,value) //?設(shè)置多個(gè)屬性 $(selector).prop({property:value,?property:value,...})
$('input').attr('checked') "checked" $('input').prop('checked') true $('input').prop('cheched',false)??//設(shè)置取消選中
表格全選、反選示例:
???? ????
# | ????????姓名 | ????????愛好 | ????
---|---|---|
???????? | 金老板 | ????????開車 | ????
???????? | alex | ????????抽煙、喝酒、燙頭 | ????
???????? | 苑昊(苑局) | ????????不洗頭、不翻車、不要臉 | ????
//?如果存在(不存在)就刪除(添加)一個(gè)類。 $('div').toggleClass('box') $('span').click(function(){ ????//動(dòng)態(tài)的切換class類名為active ????$(this).toggleClass('active') })
5、val 表單控件value屬性
//?獲取值:用于表單控件中獲取值,比如input?textarea?select等等 $(selector).val() //?設(shè)置值: $('input').val('設(shè)置了表單控件中的值');
示例:
???? ????