本文介绍在JavaScript中如何通过this关键字直接传递当前DOM节点,避免使用document.getElementById等繁琐查找方式。通过HTML按钮和复选框的onclick/onchange事件示例,展示将this作为参数传入函数,并结合jQuery简化属性操作的方法,提升代码简洁性与执行效率。
利用this传递DOM节点简化操作
在JavaScript中,this关键字代表当前正在执行的代码所关联的DOM节点。利用这一特性,可以直接将节点作为参数传递,从而避免在函数内部重复使用document.getElementById、getElementsByName或getElementsByTagName等方法来获取元素,简化了代码逻辑。通常,在函数定义时使用obj作为形参来接收该节点。
具体实现代码如下:
<input type="button" id="tianjia" value="保 存" class="btn1" onClick="nullCheck(this)"/>
<script>
function nullCheck(obj)
{
......//这里写你所需功能的代码
}
</script>
<input type="checkbox" name='agentType' id="exclusiveAgenter" value="exclusive" onchange="clickAgenter(this)">
function clickAgenter(obj){
if($(obj).attr("checked")=="checked"){
$( "[name='agentType']" ).removeAttr("checked");//取消全选
$(obj).attr("checked","checked")
}
}