<div id="values">10 67 87 100 56</div>
<div id="#val1">87</div>
jqueryで#val1をクリックすると、配列から87の値を削除するにはどうすればよいですか?
それを行う別の方法は次のようになります。
$(function () {
$("#val1").click(function() {
var arr = $("#values").text().split(" "); // Create an array of the values
var toRemove = $(this).text(); // Get the value to remove
// Remove the value
arr = $.grep(arr, function(value) {
return value != toRemove;
});
// Add the new array back as text (without the removed value)
$("#values").text(arr.join(" "));
});
});
のようなものを試してください
var y = [10, 67, 87 ,100 ,56] //or $("#values").text().split(' ');
var removeItem = 67;
y = jQuery.grep(y, function(value) {
return value != removeItem;
});
ここで配列について話しているわけではありません。<div>
要素内のいくつかのテキスト値。
あなたができることは、このような既存の値から配列を作成することです-
var selection = $("#val1").text();
var divValues = $("#values").text().split(' ');
次に、選択した値 (この場合は ) と一致しない値のみで構成される新しい配列を組み立てます87
。
var newValues = [];
$.each(divValues,function(index,value){
if (value != selection){
newValues.push(value);
}
});
次に、配列の値を再び結合して、以前に抽出したテキスト コンテンツに戻します。
$("#values").text(newValues.join(' '));
#values
スペースで区切られた配列のようなデータが含まれている場合は、次のようなことができます:
$('#val').click(function () {
var delVal = $("#val").text();
var arr = $("#values").text().split(' ');
$("#values").html("");
for (i = 0; i < arr.length; i++) {
if (arr[i] != delVal)
$("#values").append(arr[i] + " ");
}
});
jsFiddle でこれを確認してください: http://jsfiddle.net/Milian/buNaM/