-4

とが同じ行になるよう<br>に、親要素の2番目と3番目の要素を削除する必要があります。正確なコードは次のとおりです。<address>CityStateCode

<address>
    <label>3651 Stardust Drive</label>
    <br>
    <label>Hannibal</label>
    <br>
    <label>MO</label>
    <br>
    <label>63401</label>
</address>

次のようにHTMLを変更する必要があります。

3651 Stardust Drive
Hannibal, MO
63401

私が使用しなければならないhtmlは、MVCでjQueryMobileを使用しているためです。これを行う方法は他にもあることは知っていますが、jQuery関数を記述して修正したいと思います。

最初はすべての改行を削除しようとしましたが、最初の改行を保持し、他の改行を保持する必要があります。

$(document).ready(function() {
     //pretty-up the address & job descriptions
       $('<br>').remove();
 });
4

3 に答える 3

3
$('<br>').remove();

これは実際には br 要素を削除しません。$('<br>')新しい br 要素を作成し (どこにも挿入しません)、.remove() はドキュメントからそれを削除しようとします (何もしません)。

実際にすべての br 要素を削除するには、必要になります

$('br').remove();

ドキュメント内の既存の br 要素を$('br')探し、.remove() でそれらを削除します。

特定の親要素から br 要素のみを削除したい場合は、'br'セレクターに追加する (例: に変更する'address br') か、.find() を使用できます。

var $elems = $('address');
$elems.find('br').remove();

ラベル要素からテキストを引き出すには、次のようなことができます

$elems.find('label').contents().unwrap();

私が使用したすべての jQuery メソッドに関する情報は、http://api.jquery.org/にあります。

于 2012-12-14T20:32:34.047 に答える
2

編集:

親の「address」要素の 2 番目と 3 番目の「br」要素を削除する必要があります

必要なものの例では郵便番号が別の行にあるため、これを明確にする必要があります。私はあなたを文字通り受け取ったので、私の答えはあなたが提起した最初の質問に対処しています.

brまず、要素を直接選択する場合は、要素を正しく選択する必要があります。

$('br')

br代わりに、要素から最初の要素を除くすべての要素を削除する必要がありましたaddress

したがって、address 要素から開始してbr、最初の要素 (リスト内の要素 0) と等しくないすべてのタグを削除します。

$('address').find('br:not(:eq(0))').remove();

jsfiddleを参照してください

都市のラベルにコンマを追加する必要がある場合は、適切なラベルを選択して追加するのと同じくらい簡単です。

都市ラベルの後にコンマを追加する必要がある場合は、適切なラベルを選択してから追加するのと同じくらい簡単です。どちらを選択するかは、他に何をしているかによって異なります。

于 2012-12-14T20:46:14.757 に答える
1
$('<br>').remove();  

(また、 br is$('br')と notを選択する正しい構文$('<br>') )

$('<br>') creates a New br element

$('br').remove() すべての br タグを削除します。

代わりにこれを試してください

 $('address').find('br:eq(1)').remove();

フィドルをチェック

于 2012-12-14T20:33:14.997 に答える