<input type='submit' value='回復(fù)給"+from+"' class='col-xs-3 replyBtn' onclick='showalert()'/>
function showalert(){
console.log($(this));
}
點(diǎn)擊返回的是下面的東西:
[Window, jquery: "1.11.3", constructor: function, selector: "", toArray: function, get: function…]
我想要的是這個(gè)input元素
怎么處理?
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
額。。。
onclick='showalert()' 改成 onclick='showalert(this)'
你函數(shù)里面的this,是指window, 不是input。。。
建議這樣用jQuery
$(".replyBtn").click(function(){
alert($(this).val());
});
<input type='submit' value='回復(fù)給"+from+"' class='col-xs-3 replyBtn' onclick='showalert(this)'/>
function showalert(tDom){
console.log($(tDom).val());
}
使用你的調(diào)用方式,this指向的為全局對(duì)象。
3種方法解決你的問題
1)
<input type='submit' value='回復(fù)給"+from+"' class='col-xs-3 replyBtn' onclick='showalert(event)'/>
function showalert(event){
console.log(event.target);//event.target就指向input按鈕
}
2)
<input type='submit' value='回復(fù)給"+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='回復(fù)給"+from+"' class='col-xs-3 replyBtn'/>
<script>
function showalert(){
console.log(this);
}
$('input.col-xs-3.replyBtn').on('click',function(){
console.log(this);//this執(zhí)行input HTML元素
});
//下面這個(gè)也可以
//$('input.col-xs-3.replyBtn').on('click', showalert);
</script>
input元素嗎?
showalert(this)
傳遞下this 在里面就可以獲取了
或者
綁定下這個(gè)input 事件
$(input).on('click',function(){
var ipt = this;// input dom對(duì)象
var $ipt = $(this);//jquery對(duì)象
})