Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   как добраться до аттрибута (https://javascript.ru/forum/jquery/9221-kak-dobratsya-do-attributa.html)

Wilder 05.05.2010 13:41

как добраться до аттрибута
 
<script>
$(function() {
 $("#progressbar").progressbar({
    value: parseInt($(this).attr('count'))
  });
});
	</script>


<div id='demo'>
 <div id="progressbar" count='87'></div>
</div>


Не могу добраться до аттрибута вариант вместо $(this).attr('count') - $("#progressbar").attr('count') НЕ ПРЕДЛАГАТЬ

e1f 05.05.2010 14:02

Цитата:

Сообщение от Wilder (Сообщение 54186)
вариант вместо $(this).attr('count') - $("#progressbar").attr('count') НЕ ПРЕДЛАГАТЬ

Ха! А думать не пробовали, вместо того, чтобы чушь писать?
$(function() {
    var pbar = $('#progressbar');
    pbar.progressbar({
        value: parseInt(pbar.attr('count'))
    });
});

Wilder 05.05.2010 14:07

пробовал. На самом деле задача стоит вот так.
<script type="text/javascript">
 $(".progressbar").progressbar(
{
    value: parseInt($(this).attr('count'))
  }
);
});
</script>


<div id='demo'>
 <div class="progressbar" count='87'></div>
</div>

e1f 05.05.2010 14:16

На самом деле для этого есть each:
$(function() {
    $('.progressbar').each(function(){
        $(this).progressbar({
            value: parseInt($(this).attr('count'))
        });
    });
});

Wilder 05.05.2010 14:19

через EACH понятно что можно. Но вот хотелось бы именно просто передать значение атрибута. видать никак жаль....

e1f 05.05.2010 14:24

Wilder, а как его можно передать в таком случае? Чем будет this вне each? Как указать, к камому именно элементу из коллекции $('.progressbar') относится attr?

Wilder 05.05.2010 14:36

я просто подправил progressBar в части инициализации
_create: function() {                                
  this.element                                 
 .addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
 .attr({                              
 role: "progressbar",
 "aria-valuemin": this._valueMin(),
 "aria-valuemax": this._valueMax(),
 "aria-valuenow": this._value()
});

this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
 .appendTo( this.element );
 
this.options.value = this.element.attr('value')=='undefined' ? this.options.value : parseInt(this.element.attr('value'));

this._refreshValue();
},

e1f 05.05.2010 14:45

Wilder, а если еще что-то понадобится сделать, снова будете править компоненту? :) Фу!


Часовой пояс GMT +3, время: 03:48.