Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击$(this)时,是否在每个tr中单独执行onclick函数?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 单击$(this)时,是否在每个tr中单独执行onclick函数?

Javascript 单击$(this)时,是否在每个tr中单独执行onclick函数?,javascript,jquery,html,Javascript,Jquery,Html,单击tr时,我希望在tr中的每个项目中执行相同的代码。所有tr元素中的项目都相同。所以问题是,脚本没有发现任何遗漏,而是执行使用此id找到的第一个元素 以下是我需要的HTML代码: <tbody id="bList"> <tr class=""> <td class="center" style="display:none;"></td> <td></td> <td class="center"

单击tr时,我希望在tr中的每个项目中执行相同的代码。所有tr元素中的项目都相同。所以问题是,脚本没有发现任何遗漏,而是执行使用此id找到的第一个元素

以下是我需要的HTML代码:

<tbody id="bList">
<tr class="">
    <td class="center" style="display:none;"></td>
    <td></td>
    <td class="center"></td>
    <td class="center"></td>
    <td class="center" style="width:200px !important;">
        <span id="timer" class="countdown callback ended" onclick="return false;"
              data-inc="0" data-time="10" data-id="btc2" rel="nofollow"></span>
        <span id="starter" class="" active="yes"> > </span>
    </td>
    <td class="center">
        <span id="open" class="">Open</span>
    </td>
    <td class="center"></td>
    <td class="center"></td>
</tr>
<tr class="selected">
    <td class="center" style="display:none;"></td>
    <td></td>
    <td class="center"></td>
    <td class="center"></td>
    <td class="center" style="width:200px !important;">
        <span id="timer" class="countdown callback ended" onclick="return false;"
             data-inc="0" data-time="10" data-id="btc1" rel="nofollow"></span>
            <span id="starter" class="" active="no"> > </span>
        </td>
        <td class="center">
            <span id="open" class=""> Open </span>
        </td>
        <td class="center"></td>
        <td class="center"></td>
    </tr>
    </tbody>

那么,有没有办法做到这一点呢?

首先,您应该知道
ID
应该是唯一的。处理
时,单击多个
元素上的
事件
改用

由于
jQuery
希望
ID
是唯一的,因此它总是在第一个元素上激发

$('.starter').click(function(){ 
    //code
})

首先,您应该知道
ID
应该是唯一的。处理
时,单击多个
元素上的
事件
改用

由于
jQuery
希望
ID
是唯一的,因此它总是在第一个元素上激发

$('.starter').click(function(){ 
    //code
})

如注释中所述,
id
应该是唯一的。
因此,要实现这一点,请切换到类,它将很好地工作:

$('.open')。单击(函数(){
var tr=$(this).closest('tr'),
timer=tr.find('.timer'),
starter=tr.find(“.starter”);
if(timer.hasClass('end')){
html('Start Timer!>').attr({
“活动”:“是”
});
}否则{
if($('#starterModal')。是(':hidden')){
$('#starterModal').show().wait(6000.hide();
}
}
});
$('.starter')。单击(函数(){
var elem=$(此),
tr=元素最近('tr'),
timer=tr.find('.timer');
如果(元素属性(“活动”)为“是”){
timer.click();
elem.html('>').attr({
“活动”:“否”
});
//更新获得的奖励
log(tr.find('td:nth child(1)').html());
/*$.ajax({//您也可以忽略它!它工作正常!
键入:“POST”,
url:“../files/php/update_rewardHistory.php”,
数据:{
id:$(this.parent().parent().find('td:nth child(1)').html(),
货币:“btc”
},
成功:函数(数据){}
});*/
}否则{//您可以忽略此部分!请显示模式
if($('#starterModal')。是(':hidden')){
$('#starterModal').show().wait(6000.hide();
}
}
});
$('#bList tr')。单击(函数(){
$(this).addClass('selected').sides().removeClass('selected');
//log($(this.parent().parent().find('td:nth child(1)')).html());
});

> 
打开
> 
打开

如注释中所述,
id
应该是唯一的。
因此,要实现这一点,请切换到类,它将很好地工作:

$('.open')。单击(函数(){
var tr=$(this).closest('tr'),
timer=tr.find('.timer'),
starter=tr.find(“.starter”);
if(timer.hasClass('end')){
html('Start Timer!>').attr({
“活动”:“是”
});
}否则{
if($('#starterModal')。是(':hidden')){
$('#starterModal').show().wait(6000.hide();
}
}
});
$('.starter')。单击(函数(){
var elem=$(此),
tr=元素最近('tr'),
timer=tr.find('.timer');
如果(元素属性(“活动”)为“是”){
timer.click();
elem.html('>').attr({
“活动”:“否”
});
//更新获得的奖励
log(tr.find('td:nth child(1)').html());
/*$.ajax({//您也可以忽略它!它工作正常!
键入:“POST”,
url:“../files/php/update_rewardHistory.php”,
数据:{
id:$(this.parent().parent().find('td:nth child(1)').html(),
货币:“btc”
},
成功:函数(数据){}
});*/
}否则{//您可以忽略此部分!请显示模式
if($('#starterModal')。是(':hidden')){
$('#starterModal').show().wait(6000.hide();
}
}
});
$('#bList tr')。单击(函数(){
$(this).addClass('selected').sides().removeClass('selected');
//log($(this.parent().parent().find('td:nth child(1)')).html());
});

> 
打开
> 
打开

id
应该是唯一的!改为使用
class
。是的,我知道id应该是唯一的!我想让它看起来只有在元素上是独一无二的。即使是类,我认为这也会是同样的问题。请阅读这篇文章——特别是“最小”部分——你的大部分代码都标有“你可以忽略这一部分”——如果我们可以忽略它,那么它就不应该存在问题。至于真正的问题是什么,这太令人困惑了。您可以使用类似于jsfiddle的东西来重新创建这个问题。对此我很抱歉,我将在jsfiddle中创建它。id
id
应该是唯一的!改为使用
class
。是的,我知道id应该是唯一的!我想让它看起来只有在元素上是独一无二的。即使是类,我认为这也会是同样的问题。请阅读这篇文章——特别是“最小”部分——你的大部分代码都标有“你可以忽略这一部分”——如果我们可以忽略它,那么它就不应该存在问题。至于真正的问题是什么,这太令人困惑了。您可以使用类似于jsfiddle的东西来重新创建问题。对此我很抱歉,我将在jsfiddle中创建它。它正按照我的需要完美地工作着!:)非常感谢。您的答案将被确认并与他人分享。它正按照我的要求完美运行!:)非常感谢。您的答案将被确认并分享。我想您@Pilatus也被建议使用相同的解决方案,而且对我来说效果很好!我想你@Pilatus也被建议使用相同的解决方案,而且对我来说效果很好!