Как получить путь кнопки, расположенной в ячейках таблицы

Я работаю над одной таблицей, где я создал одну кнопку, которую я использую в разных строках и таблицах на основе некоторых условий. У меня есть один сценарий, где мне нужно показать кнопку некоторым конкретным пользователям, я выполнил условие, однако я не могу получить путь к кнопке, я могу скрыть ячейку, но в этом случае полная таблица удаляется из таблицы, которая не выглядит хорошо, пожалуйста, помогите мне найти путь к кнопке, чтобы я мог ее скрыть, вот код, который я использую:

  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 вручную, он сможет увидеть кнопку, поэтому всегда важно иметь проверку на стороне сервера и в подобных случаях.

Другие вопросы по тегам