Javascript 如何检查与单击的表格单元格相邻的值,如果该值为“0”,则替换该值;“空的”;

Javascript 如何检查与单击的表格单元格相邻的值,如果该值为“0”,则替换该值;“空的”;,javascript,html,html-table,onclick,swap,Javascript,Html,Html Table,Onclick,Swap,到目前为止,我已经编写了一个代码(一些从其他站点提取的函数),它生成了一个包含15个数字和一个空位的表 我想知道如何编写一个函数,当我单击任何单元格时,该单元格与带有“empty”的单元格相邻,它会交换两个单元格的值 <script type="text/javascript"> var test = 0; var startNumber = 0; var arrayNumbers = new Array() for (i = 0; i &

到目前为止,我已经编写了一个代码(一些从其他站点提取的函数),它生成了一个包含15个数字和一个空位的表

我想知道如何编写一个函数,当我单击任何单元格时,该单元格与带有“empty”的单元格相邻,它会交换两个单元格的值

    <script type="text/javascript">

    var test = 0;
    var startNumber = 0;
    var arrayNumbers = new Array()

    for (i = 0; i < 16; ++i) {
        if (i == 15) { arrayNumbers[i] = "empty"; }
        else {
            ++startNumber;
            arrayNumbers[i] = startNumber
        }
    }

    shuffle(arrayNumbers);

    document.write("<table id = \"table1\" border = \"1\">")

    for (k = 0; k < 4; ++k) {
        document.write("<tr>")
        for (i = 0; i < 4; ++i) {
            document.write("<td>" + arrayNumbers[test] + "</td>");
            ++test
        }
        document.write("</tr>")
    }

    document.write("</table>")
    // Table Made

    document.write("askjd")

    document.write(document.getElementById("table1").getElementsByTagName("tr")[2])

    function shuffle(array) {
        var currentIndex = array.length, temporaryValue, randomIndex;

        // While there remain elements to shuffle...
        while (0 !== currentIndex) {

            // Pick a remaining element...
            randomIndex = Math.floor(Math.random() * currentIndex);
            currentIndex -= 1;

            // And swap it with the current element.
            temporaryValue = array[currentIndex];
            array[currentIndex] = array[randomIndex];
            array[randomIndex] = temporaryValue;
        }

        return array;
    }

    var table = document.getElementById('table1'),
cells = table.getElementsByTagName('td');

    for (var i = 0, len = cells.length; i < len; i++) {
        cells[i].onclick = function () {
            window.alert(this.innerHTML);



        }
    }

</script>

var检验=0;
var startNumber=0;
var arrayNumbers=新数组()
对于(i=0;i<16;++i){
如果(i==15){arrayNumbers[i]=“empty”;}
否则{
++startNumber;
ArrayNumber[i]=开始编号
}
}
洗牌(数组编号);
文件。写(“”)
对于(k=0;k<4;++k){
文件。写(“”)
对于(i=0;i<4;++i){
编写(“+arrayNumbers[test]+”);
++试验
}
文件。写(“”)
}
文件。写(“”)
//桌子
文件编写(“askjd”)
document.write(document.getElementById(“表1”).getElementsByTagName(“tr”)[2])
函数洗牌(数组){
var currentIndex=array.length,temporaryValue,randomIndex;
//虽然还有一些元素需要洗牌。。。
而(0!==currentIndex){
//选择剩余的元素。。。
randomIndex=Math.floor(Math.random()*currentIndex);
currentIndex-=1;
//并将其与当前元素交换。
临时值=数组[currentIndex];
数组[currentIndex]=数组[randomIndex];
数组[randomIndex]=临时值;
}
返回数组;
}
var table=document.getElementById('table1'),
cells=table.getElementsByTagName('td');
对于(变量i=0,len=cells.length;i

如果有人能帮忙,那就太好了

我只需从
I=1
循环到
I
,然后在
单元格[I]
单元格[I-1]
单元格[I+1]
上施展我的魔法

也许您只是想使用innerText来避免引用
&'
等问题