0

私はこのスクリプトを使用して目次を生成しています。

https://github.com/nanotube/generated_toc

このテストページで使用しています。ご覧のとおり、作成される[トップに戻る]リンクは本当に醜いです。

http://www.utahrails.net/up/up-loco-features_toc-test.php

「[トップに戻る]」リンクにCSSスタイルを適用するには、作成されるdivにクラスが必要です。

これは機能します:

  // create a "back to top" link
  if (back_to_top == 'on'){
    newdiv = document.createElement('div');
    newdiv.innerHTML = "<a href='#beforetoc'>[back to top]</a>";
    this_head_el.parentNode.insertBefore(newdiv, this_head_el.nextSibling);

しかし、これはそうではありません。ToCの内容が消え、すべてのリンクが消えます。

  // create a "back to top" link
  if (back_to_top == 'on'){
    newdiv = document.createElementWithClass('div', 'back-to-top');
    newdiv.innerHTML = "<a href='#beforetoc'>[back to top]</a>";
    this_head_el.parentNode.insertBefore(newdiv, this_head_el.nextSibling);

私はスクリプティングに本当に慣れていないので、問題がどこにあるのかわかりません。

4

2 に答える 2

1

createElementWithClass()ドキュメントオブジェクトのメソッドの参照が表示されません。javascriptエラーコンソールまたはデバッグコンソールをチェックしていた場合は、正確なエラーが表示されているはずです。

これを使用してください:

// create a "back to top" link
  if (back_to_top == 'on'){
    newdiv = document.createElement('div');
    newdiv.className = "back-to-top";
    newdiv.innerHTML = "<a href='#beforetoc'>[back to top]</a>";
    this_head_el.parentNode.insertBefore(newdiv, this_head_el.nextSibling);
于 2013-02-25T16:43:59.427 に答える
0

(少なくともネイティブの)createElementWithClass関数はありません。使用する

var newdiv = document.createElement('div');
newdiv.className = 'back-to-top';
…

classNameプロパティvarステートメントについてはドキュメントを参照してください)

于 2013-02-25T16:44:48.433 に答える