.html() خطأ غريب في أسلوب jQuery - يحل مشكلة تفريغ المساحة محليًا، ولكن ليس عند الإنتاج

StackOverflow https://stackoverflow.com/questions/147976

سؤال

أقوم بإصدار أمر 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('\ \ \ \ \ \ \ \ \ \ \ \ ');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top