<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。。。