سؤال

أنا حاليا باستخدام .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")؛})؛

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