سؤال

أنا أستخدم هذا (jQuery) ليحل محل الجميع <br>S مع <br /> لمسح أخطاء التحقق من الصحة:

$("<br>").replaceAll("<br />");

لكنه لا يقلل من أي أخطاء التحقق من الصحة. هل التحقق من المصدر الأصلي؟

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

المحلول

لا يوجد سبب للقيام بذلك. XHTML ميت. قم بتبديل Doctype إلى HTML 5 والعودة إلى السعادة باستخدام علامات غير مغادرة:

<!DOCTYPE html>

نصائح أخرى

لن تطلق jQuery إلا بعد تقديم المستند. ستحدث عملية تحميل الصفحة مثل ما يلي

  1. تم تقديم طلب للحصول على الصفحة
  2. تم إرسال الصفحة إلى جهاز العميل
  3. تحميل الصفحة
  4. تم التحقق من صحة الصفحة
  5. حرائق jQuery
  6. يتم استبدال علامات الكسر

أوصي فقط بعمل اكتشاف واستبدال على مستوى الموقع على الجميع <br> العلامات واستبدالها بـ <br />

المدققون لا يديرون JavaScript. إنهم تحليل HTML ويقارنونه بمخطط Doctype المعلن.

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

يتم تحليل HTML في نموذج DOM (الخطوة 3 في منشور غاري) ، حيث <br> و <br /> تعتبر متساوية. إضافة عنصر إلى صفحة HTML من خلال JavaScript ، سواء كنت تستخدم jQuery أو أي وسيلة أخرى ، سوف يحلل العنصر الخاص بك وإضافته إلى DOM. كيف بدا HTML الداخلي لم يعد مهمًا لما يهتم به المتصفح.

يمكنك رؤية هذا بنفسك إذا كنت تستخدم innerHTML. ضع ما يلي في أي مستند HTML (لا يهم إذا كان XHTML أو HTML4 أو HTML 3.2):

<p onclick="alert(this.innerHTML);">BR: <br />self close</p>
<p onclick="alert(this.innerHTML);">BR: <br>open</p>
<p onclick="alert(this.innerHTML);">BR: <BR>open capitals</p>

قم بتحميله في متصفح وانقر عليه.

على IE جميع المتغيرات الثلاثة تظهر كما "<BR>", ، في FF ، Chrome ، Opera جميع المتغيرات الثلاثة تظهر كما "<br>". هكذا تمثل المتصفحات HTML داخليًا. استخدام HTML صالح أو HTML غير صالح مع JavaScript لن يغير هذا. الأسوأ: تمثيل HTML الداخلي غير صالح XHTML ، حتى عندما يكون المستند!

أولاً ، كما قيل إن المدققين تحققوا من ملف HTML ، ولا يقومون بتشغيل أي شيء. بجانب ، إذا كنت تريد أن تكون HTML صالحة ، فهناك أكثر من ذلك بكثير
بالطبع .. لماذا لا تستخدم محرر HTML فقط؟

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