gpt4 book ai didi

javascript - Jquery,如果ID包含字母 'X'

转载 作者:行者123 更新时间:2023-11-28 03:42:57 25 4
gpt4 key购买 nike

我在编码方面还是个新手,我的数学老师给了我们一个国际象棋问题,我想使用 javascript 生成所有可能的解决方案。

问题是:在 5x5 的棋盘上仅使用 5 个皇后,并将它们放置在只有 3 个区域未被攻击的位置

现在我陷入困境,因为我的 JQuery 无法工作。

你可以在这里查看代码:http://jsfiddle.net/hjespshw/1/或者

HTML:

<h2>TextBox value : <label id="msg"></label></h2>
<input id="textbox" value="1" />
<button id="Get">Click</button>

<table>
<tr>
<td id="1"></td>
<td id="2"></td>
<td id="3"></td>
<td id="4"></td>
<td id="5"></td>

</tr>
<tr>
<td id="6"></td>
<td id="7"></td>
<td id="8"></td>
<td id="9"></td>
<td id="10"></td>

</tr>
<tr>
<td id="11"></td>
<td id="12"></td>
<td id="13"></td>
<td id="14"></td>
<td id="15"></td>

</tr>
<tr>
<td id="16"></td>
<td id="17"></td>
<td id="18"></td>
<td id="19"></td>
<td id="20"></td>

</tr>
<tr>
<td id="21"></td>
<td id="22"></td>
<td id="23"></td>
<td id="24"></td>
<td id="25"></td>

</tr>


</table>

Javascript:

$("#Get").click(function() {
var bla = $('#textbox').val();
bla = '#' + bla;
$('#msg').html($('#textbox').val());
$(bla).text("X");

$( "td:contains('X')" ).css( "background-color", "red" );
if ($( "td:contains('X')" )) {
// for every td containing x make adjecent ones turn red
if ($("#1:contains('X')")) {
$("#2").css( "background-color", "red" );
$("#3").css( "background-color", "red" );
$("#4").css( "background-color", "red" );
$("#5").css( "background-color", "red" );
$("#6").css( "background-color", "red" );
$("#7").css( "background-color", "red" );
$("#11").css( "background-color", "red" );
$("#13").css( "background-color", "red" );
$("#16").css( "background-color", "red" );
$("#19").css( "background-color", "red" );
$("#21").css( "background-color", "red" );
$("#25").css( "background-color", "red" );
} else if ($("#2:contains('X')")) {
$("#1").css( "background-color", "blue" );
$("#2").css( "background-color", "blue" );
$("#3").css( "background-color", "blue" );
$("#4").css( "background-color", "blue" );
$("#5").css( "background-color", "blue" );
$("#7").css( "background-color", "blue" );
$("#8").css( "background-color", "blue" );
$("#12").css( "background-color", "blue" );
$("#14").css( "background-color", "blue" );
$("#17").css( "background-color", "blue" );
$("#20").css( "background-color", "blue" );
$("#22").css( "background-color", "blue" );
}

}
});

CSS:

table {
margin-top: 10px;
}

table tr td {
width: 40px;
height: 40px;
border: solid blue 3px;
}

td {
text-align: center;
}

当您输入 1 并单击按钮时,一切正常,但当您输入 2 时,它的工作方式就像您输入 1 一样。

如果我删除

if ($("#1:contains('X')")) {
$("#2").css( "background-color", "red" );
$("#3").css( "background-color", "red" );
$("#4").css( "background-color", "red" );
$("#5").css( "background-color", "red" );
$("#6").css( "background-color", "red" );
$("#7").css( "background-color", "red" );
$("#11").css( "background-color", "red" );
$("#13").css( "background-color", "red" );
$("#16").css( "background-color", "red" );
$("#19").css( "background-color", "red" );
$("#21").css( "background-color", "red" );
$("#25").css( "background-color", "red" );
} else

然后当你输入 2 时,它就会按照它应该的方式工作

感谢您的帮助!

最佳答案

您的代码始终停止在 1 的原因是因为您的 if 结构如下

if () {}
else if () {}

在命中第一个 if 后(始终为 true),else if 也无法命中。您需要为 if 语句使用不同的值,例如 $('#textbox').val()

例如:

if ($('#textbox').val() == 1) { /* one positions */ }
else if ($('#textbox').val() == 2) { /* two positions */ }

这是我的 fiddle fork :http://jsfiddle.net/hpv1oyaL/

关于javascript - Jquery,如果ID包含字母 'X',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48773158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com