jquery中this关键字: var va=$(this).val(); 麻烦高手详解下 什么意思

JavaScript024

jquery中this关键字: var va=$(this).val(); 麻烦高手详解下 什么意思,第1张

this关键字用于指当前所处的对象,例如<input type="text" id = "mod" onclick="check(this)">在js代码中有方法function check(obj){ if(isEmpty($(obj))){ return false}esle{return true}}这儿的this就是指当前对象id为mod的输入框,再举一个例子,在js代码中var X = 1 ;function mod(){alert(this.x)} 这个地方的this就是指该window,alert的内容就是1,说白了,就是谁在执行当前的操作,this就是指这个对象。

有好多种方法,比如:

document.getElementById("xxx")是通过元素Id来取得元素,这是获取单一元素的最快途径。

document.getElementsByName("xxx")则可以根据元素Name来取得一系列的元素,因为name不同意,这样需要通过[index]来取得相对应的元素。

其他还有不少,建议查阅一下资料,以上是用得比较多的。

//假如有个大文本域的ID叫txt1

/*

* jquery版

*/    

$('#txt1').focus(function(){

    $(this).val('获得焦点')

}).blur(function(){

    //清空文字

    $(this).val('')

})

/*

* javascript版,代码中绑定

*/

var txtareaObj = document.getElementById('txt1')

txtareaObj.onfocus = function(){

    this.value = "获得焦点"

}

txtareaObj.onblur = function(){

    this.value = ""

}

/*

* javascript 事件监听版 ,这个需要判断浏览器兼容性

*/

var txtareaObj = document.getElementById('txt1')

//获得焦点函数

var foucusHandler = function(){

    txtareaObj.val('获得焦点')

}

var blurHandler = function(){

    txtareaObj.val('')

}

try{  

    // Chrome、FireFox、Opera、Safari、IE9.0及其以上版本

    txtareaObj.addEventListener('focus',foucusHandler,false)

    txtareaObj.addEventListener('blur',blurHandler,false)

}catch(e){

    // IE8.0及其以下版本

    txtareaObj.attachEvent('onfocus',handle)

    txtareaObj.attachEvent('blur',handle)

}