Как получить путь кнопки, расположенной в ячейках таблицы
Я работаю над одной таблицей, где я создал одну кнопку, которую я использую в разных строках и таблицах на основе некоторых условий. У меня есть один сценарий, где мне нужно показать кнопку некоторым конкретным пользователям, я выполнил условие, однако я не могу получить путь к кнопке, я могу скрыть ячейку, но в этом случае полная таблица удаляется из таблицы, которая не выглядит хорошо, пожалуйста, помогите мне найти путь к кнопке, чтобы я мог ее скрыть, вот код, который я использую:
totalrows = document.getElementById("DEVmyTable").rows.length;
for(i = 0;i<totalrows; i++){
if(actualusernamevalue == currentusernamevalue){
table.rows[i].cells[6].style.display = "";
}
if(actualusernamevalue != currentusernamevalue){
table.rows[i].cells[6].style.display = "none";
}
}
Здесь, в ячейках [6], присутствует моя кнопка, которую я создаю динамически следующим образом:
row = document.getElementById("DEVFirstrow");
var w = row.insertCell(6);
w.innerHTML = '<button onclick="Releaseentry(this)"type="button"
id="release" class="btn btn-primary release">Release</button>';
Я не добавил полный код здесь, но на основе идентификаторов я использую этот код в другой таблице и строках.
в этом коде я спрятал ячейку, потому что для сокрытия кнопки я не могу найти путь, и это то, что я ищу.
2 ответа
Я думаю, что наконец-то получил свое решение, спасибо @natan за вашу помощь.
table.rows[i].cells[6].getElementsByTagName('button')[0].style.display = "none";
table.rows[i].cells[6].getElementsByTagName('button')[0].style.display = "";
Я должен был использовать этот код.
Вы на самом деле разрабатываете ячейку, основываясь на table.rows[i].cells[6].style.display, а не на ее содержимом. Вы выбираете 6-ю ячейку и стилизуете ее. Другая ошибка, которую вы делаете, заключается в том, что вы используете идентификатор в кнопке, в то время как кнопка используется в нескольких строках, что делает идентификатор бесполезным, поскольку он должен быть уникальным. То, что я хотел бы сделать, это просто использовать класс кнопок, а затем на основе проверок вы решили, что кнопка должна делать с помощью jquery, поэтому:
if (actualusernamevalue == currentusernamevalue) {
$('.release').show();
} if (actualusernamevalue! = currentusernamevalue) {
$('.release').hide();
}
Если я хорошо понимаю, что вы пытаетесь сделать, по крайней мере. Чем проще решение, тем лучше решение!
РЕДАКТИРОВАТЬ: Кстати, вы должны иметь в виду, что если кто-то хочет найти кнопку, когда вы играете со свойством display в обоих направлениях, они всегда могут найти его через исходный код. Если кто-то осмотрит элемент и изменит CSS вручную, он сможет увидеть кнопку, поэтому всегда важно иметь проверку на стороне сервера и в подобных случаях.