سؤال

أنا حاليا تشغيل PHP على أساس المحتوى-الإدارة-نظام يولد محتوى HTML مع مساعدة من تخفيض السعر الاضافي.معظم المحتوى هو منظم من قبل العناوين والعناوين الفرعية والتي النتائج في الصفحة.في بداية كل صفحة إنشاء جدول المحتويات مع مساعدة من القائمة ، تخفيض السعر إضافية رأس سمة معرف.

في أودر إلى تقصير طول عرض الصفحة أود أن استخدام مسج ل البرنامج المساعد علامات التبويب على المستوى الأول من العناوين.

المشكلة هي أن إخراج تخفيض السعر الاضافي غير متوافق مع مسج البرنامج المساعد علامات التبويب يتوقع لأن تخفيض السعر الاضافي لا التفاف المحتوى من قسم منفصل div العلامة.

هل هناك طريقة كيفية جعل هذين المكتبات العمل معا ؟

تحرير

هذا هو ما HTML الناتج هو يبحث مثل:

 <p>Some intro text...</p>
 <h3>Table of content</h3>
 <ul>
  <li><a href="#sub1">Topic 1</a></li>
  <li><a href="#sub2">Topic 2</a></li>
  <li><a href="#sub3">Topic 3</a></li>
 </ul>
 <h3 id="sub1">Topic 1</h3>
 <p>The content of this topic.</p>
 <h3 id="sub2">Topic 2</h3>
 <p>The content of this topic.</p>
 <h3 id="sub3">Topic 3</h3>
 <p>The content of this topic.</p>

..وهذا هو الموافق تخفيض السعر رمز:

Some intro text...

###Table of content###

* [Topic 1](#sub1)
* [Topic 2](#sub2)
* [Topic 3](#sub3)

###Topic 1### {#sub1}

The content of this topic.

###Topic 2### {#sub2}

The content of this topic.

###Topic 3### {#sub3}

The content of this topic.

الحل

مع القليل من المساعدة من cobbal أنا جعلت هذا مسج بيان من شأنها أن تحول تخفيض السعر العلامات في شيء أن علامات المساعد سوف تعمل مع:

  $("#tabs :header").each(function() 
  {
    var id = $(this).attr("id");
    if(id=="") return;    
    var div = $("<div>");
    var tagName = this.tagName;    
    $(this).nextAll().each(function()
    {
      if(this.tagName==tagName) return false;
      div.append(this);
    });
    $(this).removeAttr("id");
    div.attr("id", id);
    $(this).before(div);
    div.prepend(this);
  });

ولكن الحقيقة التي لا تحتاج إلى تحويل العلامات لتناسب البرنامج المساعد علامات التبويب بدلا من مجرد إخبار علامات المساعد أنه يجب تحديد مضمونها بطريقة مختلفة قد جعلت هذا الحل لا مثالية واحدة.

هل كانت مفيدة؟

المحلول

على المستند الخاص بك.جاهزة

$("#sub1,#sub2,#sub3").each(function() {
    var containerDiv = $("<div>").attr("id", $(this).attr("id") + "div");
    $(this).before(containerDiv);
    containerDiv.append(this);
});

وتغيير الخاص بك تخفيض السعر إلى

...
* [Topic 1](#sub1div)
* [Topic 2](#sub2div)
* [Topic 3](#sub3div)
...

نصائح أخرى

يبدو لي أنك يمكن أن التفاف جدول المحتويات في شعبة نفسك.

نصف الطريق أسفل تخفيض السعر صفحة إضافية أن كنت مرتبطة فإنه يظهر كيفية إدراج تخفيض السعر داخل div, مثل هذا:

PHP تخفيض السعر إضافية يتيح لك طريقة لوضع تخفيض السعر-تنسيق النص داخل أي على مستوى الكتلة الوسم.يمكنك القيام بذلك عن طريق إضافة تخفيض السعر السمة العلامة مع القيمة 1 — الذي يعطي تخفيض السعر="1" — مثل هذا:

<div markdown="1">
This is *true* markdown text.
</div>

تخفيض السعر="1" سمة سيتم تجريده و 's المحتوى سيتم تحويلها من تخفيض السعر إلى HTML.النتيجة النهائية سوف تبدو مثل هذا:

<div>

<p>This is <em>true</em> markdown text.</p>

</div>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top