2016-11-05 7 views
0

アイコンの後のテキストを削除しようとしています。要素の後のテキストを削除します。

問題はnext()が要素なしでは機能しないことです。

<span>France</span>

Demo

アイコンの後にテキストを削除するために、任意のアイデア?

+0

'i'要素のコンテナは何ですか、どのように埋め込まれますか? –

+0

@AshkanMobayenKhiabani国が選択されると、このプラグインのアイコンの後のテキストを削除する必要があります。 http://blazeworx.github.io/flagstrap/ – user455318

答えて

1

jQueryのは本当に要素ではないノードをターゲットが、平野JSすることはできません

$('.flagstrap-icon').get(0).nextSibling.remove() 

FIDDLE

サポートされていない、これはネイティブremove()を使用することに注意してください、古いブラウザでは、これらをサポートする必要がある場合は、

var node = $('.flagstrap-icon').get(0).nextSibling; 
node.parentNode.removeChild(node); 
0

jQueryの.next()メソッドは、次の要素とその内容を選択し、要素内ではないテキストを選択しないjqueryのはDOM Treeなく平文で見えるので、それはこのように動作理由があります。タグなしで平文を選択する方法について

、私はその可能/私は

<i>要素は、親コンテナ内にあり、余分な要素が存在しない場合、それはmukund2003

0

を助けたホープは知らないと思ういけません親が他の要素が含まれている場合、それは正常に動作しませんしかし

$('.flagstrap-icon').parent().html($('<div>').append($('.flagstrap-icon').clone()).html()); 

:その容器の中にあなたのような何かを行うことができます。

DEMO

+0

プラグインのページでjsコンソールで試してみるとうまくいきません。 – user455318

+0

@ user455318、デモをご覧ください。 jQueryがこのコードを実行する時点でロードされていないか、コード実行後に 'i'要素の後のテキストが動的に追加されるなど、他の問題がない限り、shoulkdは動作します。 –

関連する問題