2015-06-17 3 views
0

Я использую javascript и хочу нажать кнопку, однако, если кнопка «display: none», то я бы пропустил ее.Проверьте, нет ли отображения с помощью Javascript

Так в настоящее время у меня есть этот код:

var sf = document.querySelectorAll(input.button")[0]; 

Теперь в качестве примера может быть и другим «input.buttons» на странице, которые установлены не на «дисплей: нет», я хотел бы, чтобы пропустить эти и нажмите только на видимый.

Я ценю любые советы.

+1

Я не понимаю. Как вы можете нажимать кнопку, если она не отображается? Этот вопрос не имеет смысла! – Andy

+0

Ну, кнопка может быть там, но стиль css может быть установлен для отображения: none, который все еще позволяет кнопке существовать, но не доступен для просмотра. Так как я использую это для веб-соскабливания, скрипт все равно попадет в первую кнопку, на которую он надет – PDANGER

ответ

2

var sf = document.querySelectorAll(input.button")[0];

Существует проблема выше утверждения. document.querySelectorAll(input.button")[0] возвращает пустой массив, если вы хотите, чтобы выбрать входную кнопку типа используют следующие

var sf = document.querySelectorAll("input[type='button']");  // array of button 
var sf = document.querySelectorAll("input[type='button']").[0]; // first index element 

предположит, что вы sf is an array

for (var i = 0; i < sf.length; i++) { 
    if (sf[i].style.display != "none") { 
     console.log(elem[i]) 
    } 
} 
+0

Спасибо, это сработало для меня. – PDANGER

-1

Для проверки на наличие display: none в jquery используются подселектора (обычно называемые) :visible.

if(document.getElementById("id").is(':visible')){ 
// YES, ITS WORKING..! 
} 
+0

Что случилось? @pretty Опасность –

+0

Спасибо, но мне нужно что-то в javascript, я планирую повторно сделать это в jquery когда-нибудь в будущем. – PDANGER

Смежные вопросы