0

起動する要素のIDまたはテキストを削除する方法はありますか?今のところ、ボタンで起動すると、選択したテキストが追加/削除されますが、複数クリックした場合、選択したボタンを2回クリックすると、クリックしたボタンのテキストがリストに追加されます、リストからすべてのテキストを削除しますが、選択したものだけを削除する必要があります。解決策はありますか?

jQuery

$(document).ready(function() {

    var txt = "";
    $("#_button").children().toggle(function() {

        txt = $(this).text();
        $(this).css("background", "blue");
        $("#place").append("<td>" + txt + "</td>");

    }, function() {

        $("#place").children(this).remove();
        $(this).css("background", "red");

    });
});

HTML

<ul id="_button">
     <li id="a" value="30">a</li>
     <li id="b" value="30">b</li>
     <li id="c" value="30">c</li>
</ul>
<table>
     <tr id="place">
     </tr>
</table>
4

4 に答える 4

1

切り替えられている要素のテキストを探し、セレクターtdを使用して次のコードに対応するもののみを削除できます。:contains()

これを変える

$("#place").children(this).remove();

$("#place").children(':contains('+$(this).text()+')').remove();

デモ: http://jsfiddle.net/joycse06/gptG5/1/

続きを読む:contains() Selector

于 2012-06-24T12:54:05.420 に答える
0

次のコードはそれを行います。遊ぶためのJSFiddleは次のとおりです:http://jsfiddle.net/leniel/JqZc6/

$(document).ready(function()
{
    var txt = "";        

    $("#_button").children().toggle(function()
    {
        txt = $(this).text();

        $(this).css("background","blue");  

        $("#place").append("<td>"+txt+"</td>");

    },function()
    {
        txt = $(this).text();

        $("#place").children("td:contains('"+txt+"')").remove();

        $(this).css("background","red");
    });
});
于 2012-06-24T13:06:15.803 に答える
0

jquery contains セレクターを使用して、クリックされたリスト項目に一致するテキストを持つテーブル セルを選択できます。

txt=$(this).text();
$("#place").children(":contains("+ txt +")").remove();

ここで動作することを示すためのフィドルを作成しました。

于 2012-06-24T12:54:30.880 に答える
0

このようなもの?

$(document).ready(function() {
var txt="";        
$("#_button li").toggle(function(){
         txt=$(this).text();
         $(this).css("background","blue"); 
         var id = $(this).attr('id');       
         $("#place").append("<td class="+id+">"+txt+"></td>");
},function() {
    var id = $(this).attr('id');        
    $("#place").find('td.' + id).remove();
    $(this).css("background","red");
});
});

デモ

于 2012-06-24T12:55:56.297 に答える