Javascript 如何区分第一个和第二个复选框?

Javascript 如何区分第一个和第二个复选框?,javascript,jquery,html,css,checkbox,Javascript,Jquery,Html,Css,Checkbox,我有一个带有ID的表,其中包含数百个元素。每个内部都有。一个标签有特定的等级,它是游戏中的英雄。如果你点击他的复选框和另一个复选框,他需要进入该复选框。他最多可以上/下/左/右/对角移动3个场。 你怎么能做到?我认为我应该以某种方式区分第一个复选框的位置,然后是第二个复选框,然后使距离=(abs(hero_poz-field_poz)),然后距离你可以试着给你所有的复选框一个id或名称来区分它们,我以前从未玩过这个游戏,但我想如果它使用的是“网格”你可以试着把一个id作为一个数字,这样会更容易操

我有一个带有ID的表,其中包含数百个元素。每个
内部都有
。一个标签有特定的等级,它是游戏中的英雄。如果你点击他的复选框和另一个复选框,他需要进入该复选框。他最多可以上/下/左/右/对角移动3个场。
你怎么能做到?我认为我应该以某种方式区分第一个复选框的位置,然后是第二个复选框,然后使
距离=(abs(hero_poz-field_poz))
,然后
距离你可以试着给你所有的复选框一个id或名称来区分它们,我以前从未玩过这个游戏,但我想如果它使用的是“网格”你可以试着把一个id作为一个数字,这样会更容易操作

<input id="1" type="checkbox">

屏幕上的位置以左上角的像素坐标表示。要获取元素的位置,请尝试
$('input:checked')。position()
。这将创建一个类似于
{top:214,left:468}
的对象,因此要从顶部获取位置,请尝试

$('input:checked').position().top

从左边

$('input:checked').position().left

同样,对于你的英雄:

$('.hero').position().top


$('.hero').position().left

1)您尝试了什么?2) 学习拼写标记名。我知道如何使用位置
alert(“单元格索引为:“+x.cellIndex+”:“+x.parentNode.rowIndex”)发出警报但下一步该怎么办。实际上,当复选框有标签时,此警报现在不起作用。@Paulie\u d done。为什么会有这么多的仇恨?不知道你的意思…我们期待着某些问题的标准,而这原本不符合…现在它符合了。亲爱的@newielad,Paulie_D的评论中没有仇恨。事实上,你的问题不太合适。请勾选。这就是为什么你应该将它们设为数字,并插入html代码以在循环中创建复选框的原因。如果可以的话,你可以再次查看js代码吗?我编写了一个代码来提醒我这些位置,但是第二次检查并没有提醒第一个位置(应该同时提醒两个位置)。我再次检查了它,我只看到两个提醒(选择一个英雄,你只能选择英雄和他必须去的字段)“谷歌翻译”。我建议您为网格添加一个X和Y:例如,id应该是X,名称可以是Y,通过使用坐标,您可以实现3个步骤的条件
$( document ).ready(function() {
    $('input[type="checkbox"]').click(function() {
        var cellAndRow;
        var cellAndRow2;
        var cellIndex;
        var cellIndex2;
        var rowIndex;
        var rowIndex2;
        if ($('input:checked').length == 1) {
            cellAndRow = $(this).parents('td,tr');
            cellIndex = cellAndRow[0].cellIndex;
            rowIndex = cellAndRow[1].rowIndex;
            alert(cellIndex + ":" + rowIndex);
        }else if ($('input:checked').length == 2) {
            cellAndRow2 = $(this).parents('td,tr');
            cellIndex2 = cellAndRow2[0].cellIndex;
            rowIndex2 = cellAndRow2[1].rowIndex;
            alert("1st " + cellIndex + ":" + rowIndex + "2nd " + cellIndex2 + ":" + rowIndex2);
        }else if ($('input:checked').length > 2) {
            this.checked = false;
            alert('Select the hero and field, on which he will move');
        }else if (!$('input:checked').parent().hasClass('hero')) {
            this.checked = false;
            alert('Select hero!');
        }
    });
    $("#jump").click(function(){
        if ($('input:checked').parent().hasClass('hero1')){ 
            $('input:checked').parent().toggleClass('hero1');
        }else if ($('input:checked').parent().hasClass('hero2')){
            $('input:checked').parent().toggleClass('hero2');
        }
        $('input:checked').prop('checked', false);
    });
});
<input id="1" type="checkbox">
$(this).attr('id')...