我有一系列帶有「.newColor」類的div。當單擊其中一個div時,其內容將被轉換爲字符串,並且只有在數組中尚未列出時才使用push方法將其添加到名爲myArray的數組中。然後,將myArray轉換回一系列具有「.removeItem」類的div,並在水平線之上顯示。從Javascript中刪除字符串中的字符串
如何單擊這些「.removeItem」div,並將divs內容(其字符串)從myArray中以類似的方式從其中添加?就像在它看divs的內容一樣,將它轉換成一個字符串並從數組中移除該字符串(如果它存在的話)。
var myArray = [];
var myArrayLength;
var newItem = "";
$(".newColor").click(function() {
newItem = $(this).text();
$('#displayArray').html('');
if(myArray.indexOf(newItem) == -1) {
\t myArray.push(newItem);
myArrayLength = myArray.length;
}
for (var i = 0; i < myArrayLength; i++) {
$('#displayArray').append('<div class="removeItem">' + myArray[i] + '</div>');
}
});
.newColor, .removeItem {
border: 1px solid black;
cursor: pointer;
margin: 2px;
padding: 2px;
display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Current array:
<span id="displayArray"></span>
<hr>
Add to array:
<div class="newColor">blue</div>
<div class="newColor">red</div>
<div class="newColor">green</div>
<div class="newColor">orange</div>
<div class="newColor">purple</div>
<div class="newColor">yellow</div>
<div class="newColor">brown</div>
<div class="newColor">pink</div>