سؤال
أنا أستخدم هذا (jQuery) ليحل محل الجميع <br>
S مع <br />
لمسح أخطاء التحقق من الصحة:
$("<br>").replaceAll("<br />");
لكنه لا يقلل من أي أخطاء التحقق من الصحة. هل التحقق من المصدر الأصلي؟
المحلول
لا يوجد سبب للقيام بذلك. XHTML ميت. قم بتبديل Doctype إلى HTML 5 والعودة إلى السعادة باستخدام علامات غير مغادرة:
<!DOCTYPE html>
نصائح أخرى
لن تطلق jQuery إلا بعد تقديم المستند. ستحدث عملية تحميل الصفحة مثل ما يلي
- تم تقديم طلب للحصول على الصفحة
- تم إرسال الصفحة إلى جهاز العميل
- تحميل الصفحة
- تم التحقق من صحة الصفحة
- حرائق jQuery
- يتم استبدال علامات الكسر
أوصي فقط بعمل اكتشاف واستبدال على مستوى الموقع على الجميع <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 فقط؟