- ベストアンサー
特定の文字にCSSを適用したい
ブログを書いております。 記事にコメントがあった時の「コメント(1)」といった表示を、コメントの有無で太字にしたりノーマル表示にしたいと思っています。 コメントが無いときは・・ コメント(0)をfont-weight:normal; とノーマル表示。 コメントが有るときは・・ コメント(1)をfont-weight:bold; とボールド表示させたいです。 Javascriptを使用して、特定の条件にのみCSSを適用するにはどうしたら良いでしょうか? 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
なんだ簡単じゃない。 <a>~</a> の間 <b:if cond='data:post.numComments == 1'> 1 <data:top.commentLabel/> <b:else/> <data:post.numComments/> <data:top.commentLabelPlural/> </b:if> これが何を意味しているのか考えればいいのよ。 Googleブログのアカウントもっていないからわからないけど 言葉から連想すると <b:if cond='data:post.numComments == 1'> コメントが1件のときの表示 <b:else/> コメントが1件以外のときの表示 </b:if> になっているわ。 たぶん <data:post.numComments/>はコメントの件数 <data:top.commentLabelPlural/>は「コメント」という文字かしらね。 ここまで判れば コメントが0件のときの表示 コメントが0件以外のときの表示 ができるでしょうから 何とかなるわね。
その他の回答 (1)
- askaaska
- ベストアンサー率35% (1455/4149)
コメントの数を表す変数を $comment_num と仮定すると コメント(0) は <span style="comment_style">コメント($comment_num)</span> と記述されているのね。 これを <span style="comment_style"><span style="comment_style2_$comment_num">コメント($comment_num)</span></span> こうするのよ。 スタイルcomment_styleには太字にするを設定。 スタイルcomment_style_0には太字にしないを設定。 これで勝てるわ。
お礼
回答ありがとうございます。 widgetでコードを確認してみたものの、数値をカウントするコードの箇所がいまいちどういう仕組みなのか分かりませんでした。 「コメント(0)」のコードを、ヴィジェットから抜き出します。ここで、コメントの数値がカウントされるようです。 以下です。 <span class='post-comment-link'> <b:if cond='data:blog.pageType != "item"'> <b:if cond='data:post.allowComments'> <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a> </b:if> </b:if> </span> それはそうと、 Javascriptで、「コメント(0)」という文字列を検索して、該当する文字列のみCSSでノーマル表示を指定する、という方法は出来ないのでしょうか? (太字表示をデフォルトに指定する事は出来るので。)
補足
補足になりますが、ブログはBloggerを使っております。
お礼
回答ありがとうございます! 色々試した結果、<b>1 <data:top.commentLabel/></b>こうするだけで太字にできました! commentLabelは「コメント」という文字で、commentLabelPluralはコメントが複数の場合、を指すようです。 本当にありがとうございました。