سؤال

مع الإصدار 1.2.3 من jQuery، أحاول إضافة عقد بعد عناصر منطقة النص ذات السمة "maxlength" ولكنها لا تعمل:

$("textarea[@maxlength]").after("<b>Aint working</b>");

هذا هو كود HTML:

<textarea maxlength="500">This is a test.</textarea>
<textarea maxlength="250">Yet another line.</textarea>
<textarea maxlength="125">Bar or foo, whatever.</textarea>

الشيء الغريب هو، إذا قمت بتغيير السمة maxlength على سبيل المثال rel مما يعمل على ما يرام!

تحقق من هذا المثال من الحياة الواقعية:http://www.host2000.be/_temp/jquery_tests_counter.html

ملاحظة:أنا على علم بالتدوين [@attribute] الذي لم يعد مدعومًا في jQuery 1.3، لكن هذا لا علاقة له بالمشكلة.

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

المحلول

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

وهكذا، من أجل النصي للعمل على فايرفوكس تحتاج إلى القيام بما يلي:

$("textarea[@maxlength!=-1]").after("<b>Aint working</b>");

هنا يمكنك أن تجد مزيد من المعلومات حول القيم الضمنية للسمة maxlength.

واستمتع!

نصائح أخرى

طلقة في الظلام:قد يكون ذلك بسبب أن الحد الأقصى ليس أ سمة صالحة لمناطق النص.

يحرر:لقد قمت للتو بتجربة المثال الخاص بك باستخدام jQuery 1.3 وإزالة @، وقد نجح الأمر بشكل لا تشوبه شائبة.

التعديل رقم 2:باستخدام jQuery 1.2.6 يعمل أيضًا بدون @...هل حاولت إزالتها؟

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