Получить идентификатор элемента js в элементе модуля
-
10-12-2019 - |
Вопрос
Я не знаю, выберу ли я правильное название.
Вот моя проблема, я создал модуль в том, что я могу поставить свои JS / CSS (http://img4.hostingpics.net/pics/586674Modulejs.png ) И я хотел бы получить идентификатор моих HTML-элементов.SharePoint добавляет несколько матричных символов в моих элементов ID, и каждый из них выглядит похоже на это: ctl40_g_fa43dd10_b395_40e7_98cd_a52585a208c5_Timesheet
Так что я использовал идентификатор в моем веб-параме, используя Cliendid моего элемента.Вот пример того, что я делал, прежде чем перемещать свои JS в отдельный файл.(Я делал JS / стиль в файле ACSX WebPart ACSX, но у меня есть некоторые проблемы, и мне пришлось перемещать мою JS / стиль в отдельной папке).
js
$("#<%#Timesheet.ClientID%>").find("tbody").find("tr").each(function () {
if ($(this).attr("data-name") == "timesheetEntryTotal") {
$(this).before(tr);
return false;
}
});
.
CSS
#<%#Timesheet.ClientID%> > tbody > tr > td {
height: 30px;
background-color: #F6F6F6;
}
.
Но теперь, когда я переместил свои JS / CSS в отдельную папку, которую не могу пользователь <% ...%> больше.Так как я могу получить удостоверение личности моих элементов сейчас?
Пожалуйста, помогите. Заранее спасибо.
Решение
I've found another solution is to use the HTML5 custom attribute like data-name.
So instead of getting the id like this $("#<%#Timesheet.ClientId%>")
, I now do $("table[data-id='Timesheet']")
Same thing for the css selector.
table[data-id="Timesheet"] > tbody > tr > td {
height: 30px;
background-color: #F6F6F6;
}
Другие советы
If you're using jQuery to select element, you could use '$' for ends with.
$("table[id$='Timesheet']")
You could do similar for CSS:
table[id$="Timesheet"] > tbody > tr > td {
height: 30px;
background-color: #F6F6F6;
}