2013-07-04 2 views
4

Я понятия не имею о JS. Но в моем Ruby нужна одна строка кода. У меня ниже html.Как установить `aria-disabled` как true с помощью JavaScript

<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"> 
    <div class="ui-dialog-buttonset"> 
     <button class="otherButtonClass ui-state-hover ui-state-focus" type="button" role="button" aria-disabled="false"> 
     <button class="otherButtonClass" type="button" role="button" aria-disabled="false" style="display: none;"> 
     <button class="cancelButtonClass" type="button" role="button" aria-disabled="false"> 
    </div> 
</div> 

Я хочу, чтобы код JS сделал первую и вторую кнопки, чтобы сделать их видимыми. Какой будет код?

Пожалуйста, помогите.

+0

вы используете jQueryUI для кнопок? Тогда это просто '$ (". OtherButtonClass "). Show(). Button (" enable ");' – Bergi

+0

@Bergi вы видели здесь тег jQuery? – jQuery00

+1

@ jQuery00: Нет, но много классов jQueryUI. Вот почему я спрашиваю. – Bergi

ответ

5

http://jsfiddle.net/SQ7SH/1/

var buttons = document.querySelectorAll('.ui-dialog-buttonset button'); 
    buttons[0].setAttribute('aria-disabled', true); 
    buttons[1].setAttribute('aria-disabled', true); 

Также кнопка требуется закрывающий тег

1
var buttons = document.getElementsByClassName('otherButtonClass'); 
for(var i = 0; i < buttons.length; i++){ 
    buttons[i].setAttribute('aria-disabled', 'true'); 
} 
+0

Лучше использовать строку '' true ''вместо' true' – Bergi

+0

@Bergi why? .... – karaxuna

+1

Потому что она все равно лишена. Атрибуты сохраняют только строковые значения. – Bergi

1

Как спросил there is needed one line of code:

document.querySelectorAll('.ui-dialog-buttonset .otherButtonClass').forEach(function (item) {item.setAttribute('aria-disabled', true);});