2

私は次のコンテンツを持っています:

<input type='checkbox' id='inputCheckbox'/><strong>sdfsf</strong><p>dfsfsdsd</p>

上記の要素から、チェックボックスが選択されている場合にのみこれらの要素を取得し、入力要素を省略する必要があります。

<strong>sdfsf</strong><p>dfsfsdsd</p>

私の試み:

$("#testPatternButton").on("click", function()
{
    $("input:checked").each(function()
    {
        alert($(this).parent().children().not("input").html()); // only the strong text shows up
    });
});
4

4 に答える 4

1

これはそれを行います-それは入力のを取得するために一般的なトリックを使用し、次に親からその文字列を削除するために使用します。.html().replace.html()

$('input').on('click', function () {
    inputhtml = $(this).clone().wrap('<div>').parent().html();
    allhtml = $(this).parent().html();
    str = allhtml.replace(inputhtml, '');
    alert(str);
});

http://jsfiddle.net/jnabj/

ただし、HTML文字列の代わりにこれらの要素のjQueryオブジェクトが本当に必要な場合は、さらに簡単です。

$('input').on('click',function() {
    $var = $(this).siblings();
});
于 2013-02-01T14:19:28.817 に答える
1

内容を使用each()して合計しhtml()ます。

$("#testPatternButton").on("click", function() {
    $("input:checked").each(function() {
        var output = '';
        $(this).parent().children().not("input").each(function() {
            output = output + $(this).html();
        });
        alert(output);
    });
});
于 2013-02-01T14:23:14.617 に答える
1

これを試して。

$("#inputCheckbox").click(function(){
    var el = this;
    if (el.checked) {
        console.log(
            $(el).nextAll()
        );
    }
});
于 2013-02-01T14:31:50.370 に答える
0

これは動作します

デモ

$("#testPatternButton").on("click", function() {
    $("input:checked").each(function() {
      $("#out").html($(this).parent().contents().not('input')); 
    });
});
于 2013-02-01T14:30:48.030 に答える