以前に、記事の文字数の表示方法を教えていただいたのですが、http://q.hatena.ne.jp/1449306414
これを、ライブドアのほうでも使いたいと思ったら、なぜか、できません。
どうしてなのか、わからないのですが、以下のコードでやってみてできませんでした。
<script>
$(function() {
$("body.page-article div.article-body-inner").each(function() {
$("body.page-article header.article-header", this.parentNode).prepend(
$("<SPAN />").text("(文字数:" + this.textContent.length + ")")
);
});
});
</script>
変えたところは、セレクタ名と、appendをprependにしただけなのですが、どこがいけないのか、わかりません。
以前のコードは、はてなブログでしか、使えないのでしょうか。
図々しいのですが、ヒントだけでもいただけると、ありがたいのですが。
なお、ライブドアでは、ホワイトプレスというデザインを使っています。
よろしくお願いいたします。
記事一覧みたいなページで、記事ごとの文字数を表示する、でしたっけ。
こんな感じで行けると思います。
$(function() { $("body.page-index div.article-body-inner").each(function() { $("header.article-header", this.parentNode.parentNode).prepend( $("<SPAN class='kuma'/>").text("(文字数:" + this.textContent.length + ")") ); }); });
質問のコードから、3ヶ所変えました。
適当に拾ったライブドアブログで確認してみました(自分では ID 持ってないです)。
できました!
2016/12/12 17:30:20ものすごく便利で、見やすくなりました。
個別ページだけに適用させたかったので、そっちのセレクタでやりました。
.parentNodeがもうひとつ加わったということで、できたのだと思います。
自分では、いくら悩んでも、理由はわからなかったと思うので、やっぱり聞いてみてよかったと思います。
何か、はてなブログとライブドアの違いなのでしょうが、そこが違うからできないということだったんですね。
これで↓できました。
$(function() { $("body.page-article div.article-body-inner").each(function() { $("header.article-header", this.parentNode.parentNode).prepend( $("<SPAN class='kuma'/>").text("(文字数:" + this.textContent.length + ")") ); });});</script>
ライブドアでは、はてなと違って、記事エディタには、文字数が出ません。
さらに、スマホ版だと、記事の文字数がある程度の長さを超えると、勝手に、記事が複数ページに分割されてしまうので、どの程度の文字数の記事を書いたのか、自分でも目安がわかるようにしたいと思っていました。
あとはやっぱり、はてなで慣れているので、記事のノードの文字数を常に意識しながら運営するというほうが、やりやすいので、本当に助かりました。
ありがとうございました。