【发布时间】:2021-10-08 19:57:58
【问题描述】:
是否可以使用 jquery 移动数组元素?所以如果我点击它,它也会附加到数组中,而不仅仅是在 dom 上?
var cardsInHand = ["1", "2", "3", "4", "5", "6", "7"];
var cardsOnField = [];
const cardsInHandEl = document.querySelector("#cardsInHand-el");
for (var i = 0; i < cardsInHand.length; i++) {
cardsInHandEl.innerHTML +=
`
<button>
${cardsInHand[i]}
</button>
`
}
$(document).on("click", "#cardsInHand-el button", function () {
$("#onField-el button")
.remove()
$(this)
.appendTo($("#onField-el"));
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<ul id="cardsInHand-el">Cards in Hand: </ul>
<ul id="onField-el"></ul>
<script src="script.js"></script>
</body>
【问题讨论】:
-
jQuery 是作为 UI 插件构建的。您正在尝试做的事情超出了该范围
-
见array.splice
-
可以在dom中移动dom元素,也可以在数组中移动数组项。您不能通过移动数组中的项目来移动 dom 中的 dom 元素。
-
简短回答 - 不。 DOM 中的元素和 JS 数组的内容之间没有“来回”。如果你想实现这样的东西,你应该使用一个 UI 框架,比如 VueJS vuejs.org
标签: javascript html jquery arrays dom