Я ограничен одной строкой из-за расширения Chrome, и это единственное, что соответствует моим потребностям.
<td>
необходимо пройти через атрибут «Имя пользователя», чтобы определить, должен ли заблокированный пользователь быть невидимым.
Я не могу понять это, и я действительно нуб, когда дело доходит до Javascript (не мой язык)
Я пробовал display:none
hidden
и style.visibility = "hidden"
.
Я пробовал w3Schools и искал на страницах Javascript и HTML, как это сделать, и хотя у меня есть код, который работает, это скрипт, который занимает около 8 строк, но не работает. Возможно, мне придется бросить его, но я решил, что я дал ему последний шанс.
document.getElementsByTagName("td")[0].getAttribute("theUserName").value("madmax").style.visible = "hidden";
Ожидается - <td>
не должен отображаться
Результаты - это видно
Блин, и спасибо за редактирование. Вы можете сделать это в два? Расширение не любит переменные, но я могу попробовать — это Codify — The Code Adder.
Не имеет смысла, что вы ограничены только одной строкой
Покажите нам образец HTML-кода, к которому вы обращаетесь с помощью этого кода, и объясните, что вам нужно сделать.
И да - я знаю, это ужасно. Но я изо всех сил стараюсь разобраться с кучей некодеров.
document.getElementsByTagName("td")[0]
это просто плохая идея ... всегда. Вместо этого используйте document.querySelector("td")
.
Попробую, Скотт :)
<td class = "userNameClass" theusername = "TROLLNAMEHERE" category = "11" style = "cursor:pointer;"><span style = "font-weight:bold;color:#8899aa;">имя</span>< /тд>
Charlietfl - Мол, можно и больше, но код отсюда не работает в расширении. Очевидно, у него были претензии. Альтернативой может быть Java-Injector, но, очевидно, я неопытен в javascript, если предположить, что java на самом деле не означает Java.
Одна строка, чтобы скрыть содержимое:
[...document.querySelectorAll("td[theUserName=madmax]")].forEach(e=>e.style.display = 'none');
Чтобы удалить <td>
:
[...document.querySelectorAll("td[theUserName=madmax]")].forEach(e=>e.remove());
Пробую этот сейчас
Эта линия выглядит очень мило. Но Codify — это боль. Я возьму вышеизложенное, попробую с другим редактором и напишу разработчику. Большое спасибо всем вам! Особенно ты, Эмеус.
Я предполагаю, что вы перебираете все элементы <td>
, чтобы найти один с атрибутом theUserName
со значением madmax
, а затем делаете этот элемент невидимым. Этого можно достичь с помощью:
for(TdElement of document.getElementsByTagName("td")) {
if (TdElement.getAttribute("theUserName") == "madmax") {
TdElement.style.visiblity = "hidden";
}
}
В сокращении до одной строки это:
for(TdElement of document.getElementsByTagName("td")) if TdElement.getAttribute("theUserName") == "madmax") TdElement.style.visiblity = "hidden"
Не рекомендуется опускать {}
, это просто приглашение для ошибок.
Хорошая точка зрения. Ответ, предоставленный @Emeeus, также гораздо более лаконичен.
Какие ошибки? Советую использовать решение Emeeus, оно чище моего.
Спасибо за старания, ребята! StackOverflow всегда был отличным местом для хороших советов.
Вы просто не можете выполнить это с помощью одного оператора, потому что доступ к свойству не возвращает ссылку на элемент DOM для доступа ко второму свойству (цепочка). Кроме того, у атрибутов нет свойства
.value
, и даже если бы они были,value
— это свойство, а не метод, поэтому он не может принимать аргумент. Кроме того, элементыtd
не имеют атрибутаtheUserName
. В том, что ты здесь делаешь, так много неправильного.