Javascript 当在另一个函数中使用时,请使用$(this)引用已单击的元素
当“$(this)”用于在click方法之外或其他地方创建的函数时,如何使用“$(this)”引用单击的元素。下面是使用HTML标记的演示Javascript 当在另一个函数中使用时,请使用$(this)引用已单击的元素,javascript,jquery,html,javascript-events,Javascript,Jquery,Html,Javascript Events,当“$(this)”用于在click方法之外或其他地方创建的函数时,如何使用“$(this)”引用单击的元素。下面是使用HTML标记的演示 <table> <tr> <td>some value...</td> <td>some value...</td> <td>some value...</td> </tr> &l
<table>
<tr>
<td>some value...</td>
<td>some value...</td>
<td>some value...</td>
</tr>
<tr>
<td>some value...</td>
<td>some value...</td>
<td>some value...</td>
</tr>
<tr>
<td>some value...</td>
<td>some value...</td>
<td>some value...</td>
</tr>
</table>
错误/建议:
ready
count
在代码段中不会递增,因此else
将永远不会执行(我在下面的代码中递增了它)==
将计数与0
进行比较
$(this)
作为参数传递给demo()
函数
演示:
$(文档).ready(函数(){
var td=$('td');
var计数=0;
td.单击(函数(){
如果(计数+==0){
//这样做
}否则{
//将上下文作为参数发送
演示($(本));
}
});
})
功能演示(el){
el.css(‘颜色’、‘红色’);
//这里是点击的'td'
}
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
将此
的值作为参数传递给演示
在这里,我如何将点击的数据称为$(this)
答案是:你不应该。您应该将元素传递到函数中。如果确实要使用this
引用DOM元素,则需要使用call
或apply
为demo
函数指定上下文:
$(document).read(function(){
var td = $('td');
var count = 0;
td.click(function() {
demo.apply(this);
})
})
function demo() {
$(this).css('color', 'red');
}
您只需绑定到
td
元素的click事件,如果它不存在,函数将永远不会启动:
$('td')。在('click',function()上{
//如果您需要知道可以执行此操作的tds数量:
//var cellNum=$('td')。长度;
//console.log(cellNum);
变成红色($(本));
});
功能变红(el){
el.css({“背景色”:“红色”});
};代码>
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
一些价值。。。
count当前在您的示例中始终为0…如果您共享生成的代码并解释您的答案会更好。对不起,我是通过手机回答的。
$(document).read(function(){
var td = $('td');
var count = 0;
td.click(function() {
demo.apply(this);
})
})
function demo() {
$(this).css('color', 'red');
}