2016-06-13 8 views
0

適切な条件を満たす場合、置き換えたいいくつかのスパン要素の内部にテキストが生成されます。スワップアウトしたいテキストは、「am」(amに切り替える)または「pm」(pmへ)のいずれかであり、条件は本質的に「このスパンに「am」または「pm '、文字列のその部分を' am 'または '午後'。要素内のテキストをjQueryで置き換えるための条件文

私のHTML/PHPは次のよ​​うになります...

<span id="start-time"> 
    ~Drupal Jargon which essentially outputs something like:~ 
    5 pm 
</span> 

私はテキストを()この例では午後をスワップアウトすることができました。...

を置き換えます
$("#start-time").each(function() { 
    $am = $(this).text().replace('pm','p.m.'); 
    $(this).text($am); 
}); 

...私が作成した条件文(下記参照)は、開始時間範囲内のテキスト文字列から "5"を削除して、 "午後5時"ではなく "pm"を出力します。

$("#start-time").each(function() { 
    if ($("#start-time").text("pm")) { 
    $pm = $(this).text().replace('pm','p.m.'); 
    $(this).text($pm); 
    } 
}); 

条件文が目的のテキストを出力するようにコードを修正するにはどうすればよいですか?

+0

あなたは同じIDを持つ複数のスパンを持っています? – jszobody

+0

はい、私はクラスに切り替えることができます。彼らは最初はクラスでしたが、別の結果が得られるかどうかを確認するためにidに変更しました。 –

答えて

1

"each"(ドキュメントを確認、http://api.jquery.com/jquery.each/)を使用しているので、コールバックパラメータを使用する必要があります。 ない

$(".start-time").each(function() { 
    if ($("#start-time").. 

が、ここで

$(".start-time").each(function(i,e) { 
    if ($(e).. 

デモ https://jsfiddle.net/uet5LbLb/

+0

最終的な回答者が自分のコードが機能していてもコメントを削除してしまったので気分が悪いですが、私はあなたのもっと勤勉で技術的に正しい回答/デモのDiegoに感謝します。 –

+0

あなたは幸せなコーディングを歓迎します。 –

関連する問題