AddClass باستخدام .Live () مع jQuery
سؤال
أنا حاليا باستخدام .load()
وظيفة لتحميل المحتوى في حاوية div
ديناميكيا. المحتوى الذي يتم تحميله هو بيانات الجدول التي أحبها حمار وحشي الشريط. شرطة زيبرا سهلة في صفحة ثابتة، لكن لا يمكنني معرفة كيفية تخلق حمار وحشي المحتوى الجديد الذي تم تحميله في الحاوية div
.
إليك الرمز الذي أحاول عمله:
$("table tbody tr:even").live("EVENT", function(){
$(this).addClass("alt");
});
"الحدث" لا ينبغي أن يكون "click"
, ، أو "mouseover"
ولكن "Onload" أو شيء لهذا التأثير. هل هناك طريقة للقيام بذلك؟ شكرا لاقتراحاتكم!
~ جاريد
المحلول
يجب عليك فقط تشغيل رمز شرائط ZEBRA في وظيفة رد الاتصال للتحميل ().
$("#myDiv").load( "/somecontroller/someaction", { data: value }, function() {
$("#myDiv").find( "table tbody tr:even" ).addClass( "alt" );
});
نصائح أخرى
كملحق لإجابة TVANFOSSON (وهو أفضل رهان في هذه الحالة)، تدعم الدالة Live () حاليا بعض الأحداث فقط. هذا من المستندات في http://api.jquery.com/:
قيم الحدث المحتملة: انقر، DBLCLOCK، MOSEDOWN، الماوس، Mousemove، Mouseover، Mouseout، Keydown، Keypress، Keyup
غير معتمد حاليا: Blur، التركيز، Mouseenter، Mouseave، تغيير، إرسال
لإضافة بيانات إلى جدول ديناميكيا، يجب عليك استخدام رمز آخر. أليس كذلك؟ داخل هذه الوظيفة، بعد تحميل البيانات إلى الجدول، أضف فئة CSS إلى الصفوف. باستخدام الأسلوب أدناه في هذه الوظيفة،
$("table tbody tr:even").removeClass("alt").addClass("alt");
أفعل ذلك بهذه الطريقة لتشغيل الحدث مع jQuery 1.4.2
$ ("الجسم"). يعيش ("mousemove"، وظيفة () {$ (". Zebra tr: Nth-child (حتى)"). AddClass ("Alt")؛})؛