احصل على معرف عنصر بواسطة js في عنصر الوحدة النمطية

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/97967

  •  10-12-2019
  •  | 
  •  

سؤال

لا أعرف إذا اخترت العنوان الصحيح.

هذه هي مشكلتي، لقد قمت بإنشاء وحدة نمطية يمكنني من خلالها وضع js/css الخاص بي (http://img4.hostingpics.net/pics/586674moduleJs.png) وأرغب في الحصول على معرف عناصر html الخاصة بي.يضيف Sharepoint نوعًا من أحرف المصفوفة إلى معرفات العناصر الخاصة بي ويبدو كل منها مشابهًا لما يلي: ctl40_g_fa43dd10_b395_40e7_98cd_a52585a208c5_Timesheet

لذلك اعتدت على الحصول على المعرف في جزء الويب الخاص بي باستخدام معرف العميل الخاص بالعنصر الخاص بي.فيما يلي مثال على ما كنت أفعله قبل نقل js الخاص بي إلى ملف منفصل.(كنت أقوم بعمل js/style في ملف acsx لجزء الويب ولكن واجهت بعض المشكلات واضطررت إلى نقل js/style في مجلد منفصل).

js

$("#<%#Timesheet.ClientID%>").find("tbody").find("tr").each(function () {
        if ($(this).attr("data-name") == "timesheetEntryTotal") {
            $(this).before(tr);
            return false;
        }
    });

المغلق

#<%#Timesheet.ClientID%> > tbody > tr > td {
    height: 30px;
    background-color: #F6F6F6;
}

ولكن الآن بعد أن قمت بنقل ملف js/css الخاص بي إلى مجلد منفصل، لم يعد بإمكاني استخدام <%...%> بعد الآن.فكيف يمكنني الحصول على معرف العناصر الخاصة بي الآن؟

الرجاء المساعدة.شكرا لكم مقدما.

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

المحلول

لقد وجدت حلاً آخر وهو استخدام سمة HTML5 المخصصة مثل اسم البيانات.

لذلك بدلاً من الحصول على المعرف مثل هذا $("#<%#Timesheet.ClientId%>"), ، أفعل الآن $("table[data-id='Timesheet']")

نفس الشيء بالنسبة لمحدد CSS.

table[data-id="Timesheet"] > tbody > tr > td {
        height: 30px;
        background-color: #F6F6F6;
}

نصائح أخرى

إذا كنت تستخدم jQuery لتحديد عنصر، فيمكنك استخدام "$" للنهايات.

$("table[id$='Timesheet']")

يمكنك أن تفعل الشيء نفسه بالنسبة لـ CSS:

table[id$="Timesheet"] > tbody > tr > td {
    height: 30px;
    background-color: #F6F6F6;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top