2011-12-15 3 views
2

ユーザーがアクションをトリガーすると、h1.text()はh2.text()と同じでなければなりません。jQuery .text()は、条件に一致するテキストを取得します

$('h1').text($('h2').text()); 

問題は、h2にはスパンと隠れたスパンがあります。例えば:である必要が

<h2>Countries: <span class="ec">Ecuador</span> <span class="cl hidden">Chile</span></h2> 

H1:それは隠されたクラスとスパンの中にあるので

Countries: Ecuador 

チリは除外されなければなりません。私はこれが何らかの形で条件で達成できることを知っています。何か案は?

+3

実は、エクアドルは隠されたクラスである;) – musefan

+0

が@musefan笑申し訳ありませんが、それを固定! – andufo

答えて

2

Clone(ので、我々はない台無し元でください)(バック削除隠されたスパンからバックjqueryのチェーン上がるためにendを使用して、その後、findremoveすべてspan.hidden要素、そしてバックテキストを取得h2要素H2)とh1に適用:

$('h1').text($('h2').clone().find('span.hidden').remove().end().text()) 

jsFiddle:http://jsfiddle.net/mhUEr/1/

+0

動作しません。提供されたコード(提供されているコードではなく、エクアドルは隠されたコードであることに注意してください)を使用すると、「国:チリ」の2つのインスタンスになります。 –

+0

きれいで清潔です。ありがとう! – andufo

+0

@GregPettit、私はあなたの反対を理解していません。提供されたコードと記述されたコードとの間の相違は、明らかに単にタイプミス(OPはそれを修正しました)で、「あなたは2つのインスタンスで終わるでしょう」という意味を理解していません。 jsFiddleを参照してください。コードは機能します。 –

関連する問題