0
<div id="values">10 67 87 100 56</div>

<div id="#val1">87</div>

jqueryで#val1をクリックすると、配列から87の値を削除するにはどうすればよいですか?

4

4 に答える 4

3

それを行う別の方法は次のようになります。

​$(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(" "));
    });
});​

ここでフィドルを参照してください

于 2012-11-18T10:57:19.663 に答える
2

のようなものを試してください

var y = [10, 67, 87 ,100 ,56] //or $("#values").text().split(' ');
var removeItem = 67;

y = jQuery.grep(y, function(value) {
  return value != removeItem;
});

Jsフィドル

于 2012-11-18T10:46:55.983 に答える
2

ここで配列について話しているわけではありません。<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(' '));
于 2012-11-18T10:47:29.937 に答える
1

#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/

于 2012-11-18T11:03:22.130 に答える