Как назначить значение массива JS для каждого div в JavaScript или Jquery? - PullRequest
0 голосов
/ 13 декабря 2011
<script type="text/javascript">
    window.onload =init;

    function init(){

        $rlt = [1, 0, 0];

        //How to assign value of $rlt to each div
    }

</script>

        <div id="block1"></div>
        <div id="block5"></div>
        <div id="block7"></div>

Как присвоить значение $ rlt каждому div в javascript или Jquery?

Окончательный результат должен быть:

        <div id="block1">1</div>
        <div id="block5">0</div>
        <div id="block7">0</div>

Ответы [ 6 ]

2 голосов
/ 13 декабря 2011

Вот, пожалуйста:

$( 'div' ).each( function ( i ) {
    $( this ).text( $rlt[i] );
});

Живая демоверсия: http://jsfiddle.net/pDwps/1/

или с обычным JavaScript:

[].forEach.call( document.getElementsByTagName( 'div' ), function ( div, i ) {
    div.textContent = $rlt[i];
});

Демонстрационная версия: http://jsfiddle.net/pDwps/

0 голосов
/ 13 декабря 2011

Вы можете легко сделать это, просто используя JavaScript.JQuery не требуется для этого небольшого кода.Вы можете избежать необходимости в плагине jquery.

<script type="text/javascript">
window.onload = init;
function init(){
var $rlt = [1, 0, 0];
document.getElementById("block1").innerHTML  = $rlt[0];
document.getElementById("block5").innerHTML  = $rlt[1];
document.getElementById("block7").innerHTML  = $rlt[2];
}
</script>

проверьте скрипку здесь: http://jsfiddle.net/Wk6m8/1/

0 голосов
/ 13 декабря 2011

Предполагая, что вы хотите добавить значения массива последовательно к каждому из div, вы можете попробовать это при условии, что вы добавите библиотеку jQuery на свою страницу.

$(document).ready(function() {
    var $rlt = [1, 0, 0];
    $("div[id^=block]").each(function(i) {
        $(this).html($rlt[i].toString());
    });
});
0 голосов
/ 13 декабря 2011

Это должно сделать это:

$(document).ready(function() {
    var $rlt = [1, 0, 0];
    $("div[id^=block]").each(function(i) {
        $(this).html($rlt[i]);
    });
});
0 голосов
/ 13 декабря 2011
var divs = getElementsByTagName('div');

for(var i = 0; i < $rlt.length && i < divs.length; i++) {
     divs[i].innerHTML = $rlt[i];
}

Или для jQuery альтернативы:

var divs = $('div');

divs.each(function(i, div){
     div.innerHTML = $rlt[i];
});
0 голосов
/ 13 декабря 2011

Что-то вроде:

var rlt = [1, 0, 0];

// Only if ID starts with block
$( "[id^=block]" ).each(function( index ){
    if( !rtl[index] ) return false; // Stop when out of index.
    $( this ).html( rlt[index] );
});
...