首页 > jquery 点击获取被点击元素的value,返回的不是想要的。

jquery 点击获取被点击元素的value,返回的不是想要的。

<input type='submit' value='回复给"+from+"' class='col-xs-3 replyBtn' onclick='showalert()'/>

function showalert(){
console.log($(this));
}

点击返回的是下面的东西:
[Window, jquery: "1.11.3", constructor: function, selector: "", toArray: function, get: function…]

我想要的是这个input元素

怎么处理?


$('.replyBtn').val()


对象没搞清楚,this不传进去默认就是Window


input元素吗?

showalert(this)

传递下this 在里面就可以获取了
或者
绑定下这个input 事件

$(input).on('click',function(){
     var ipt = this;// input dom对象
     var $ipt = $(this);//jquery对象
})

建议这样用jQuery
$(".replyBtn").click(function(){

 alert($(this).val());

});


使用你的调用方式,this指向的为全局对象。
3种方法解决你的问题
1)

<input type='submit' value='回复给"+from+"' class='col-xs-3 replyBtn' onclick='showalert(event)'/>

function showalert(event){
console.log(event.target);//event.target就指向input按钮
}

2)

<input type='submit' value='回复给"+from+"' class='col-xs-3 replyBtn' />

   
document.getElementById('btn').onclick=function(){
    console.log(this);//
};

function showalert(){
    console.log(this);//
}

//document.getElementById('btn').onclick= showalert; //这方式也可以

3) 既然你都使用jquery了,那么

<input type='submit' value='回复给"+from+"' class='col-xs-3 replyBtn'/>

<script>
    function showalert(){
        console.log(this);
    }
    $('input.col-xs-3.replyBtn').on('click',function(){
        console.log(this);//this执行input HTML元素
    });
    //下面这个也可以 
    //$('input.col-xs-3.replyBtn').on('click', showalert);
</script>

<input type='submit' value='回复给"+from+"' class='col-xs-3 replyBtn' onclick='showalert(this)'/>

function showalert(tDom){
    console.log($(tDom).val());
}

额。。。
onclick='showalert()' 改成 onclick='showalert(this)'
你函数里面的this,是指window, 不是input。。。

【热门文章】
【热门文章】