.html() خطأ غريب في أسلوب jQuery - يحل مشكلة تفريغ المساحة محليًا، ولكن ليس عند الإنتاج
-
02-07-2019 - |
سؤال
أقوم بإصدار أمر jquery بسيط:
element.html(" ");
باستخدام طريقة السمات/html: http://docs.jquery.com/Attributes/html
إنه يعمل على خادم محرك التطبيقات المحلي الخاص بي، لكنه لا يعمل بمجرد الضغط على خادم Google.يفرغ العنصر، لكنه لا يملأ بالمسافات.
لذلك بدلا من " "
(6 مساحات) انه فقط ""
.
مرة أخرى، يتم تشغيل هذا على App Engine، لكنني لا أعتقد أن هذا مهم...
المحلول
يمكنك محاولة إنشاء المساحة أثناء وقت التشغيل، بحيث لا يتم اقتطاعها أو ما يحدث أثناء النقل:
element.html(String.fromCharCode(32));
نصائح أخرى
قد لا يكون هذا إجابة مباشرة لمشكلتك، ولكن لماذا تريد حتى وضع كومة من المساحات؟ربما يمكنك تحقيق نفس النتيجة بمجرد تغيير padding-left
أو text-indent
من ذلك العنصر.
element.css("textIndent", "3em");
باستخدام كومة من
s هي طريقة مراوغة جدًا لإجراء مسافة بادئة.
يجب أن يبدو jQuery الخاص بك كما يلي:
$('element').html(' ');
...أين '
' يساوي مرة واحدة الفضاء.
(مع أي عدد تريده من المساحات بالطبع)
هل حاولت استخدام
بدلا من المساحات؟ال html()
تقوم الطريقة فقط بضخ السلسلة إلى HTML الداخلي للعنصر (العناصر).
هل هناك احتمال أن يتم تصغير الكود كجزء من عملية نشره على App Engine؟
لا أتوقع الاحتفاظ بأي سلسلة من المسافات البيضاء كما هو مكتوب، ربما يمكنك بالفعل الهروب من المساحة البيضاء وإجبار أي تصغير على تركها:
مثال:
element.html('\ \ \ \ \ \ \ \ \ \ \ \ ');