jQuery - 将元素添加到数组中

16

我正在尝试将 HTML span 的 $hexcode 值添加到数组中作为 ID。如何使用 jQuery 实现这一点?最终,我需要获取这些 hexcode 值并将它们与颜色索引匹配。

<?php
// display every color in the world

$r = 0;
$g = 0;
$b = 0;
$i = 0;
$step = 16;

for($b = 0; $b < 255; $b+=$step ) {
    for($g = 0; $g < 255; $g+=$step) {
        for($r = 0; $r < 255; $r+=$step) {
        $hexcolor = str_pad(dechex($r), 2, "0", STR_PAD_LEFT).str_pad(dechex($g), 2, "0", STR_PAD_LEFT).str_pad(dechex($b), 2, "0", STR_PAD_LEFT);
        echo '<span class="color_cell" id="'.$hexcolor.'" style="width: 5px; height: 5px; background-color:#'.$hexcolor.'; border: 1px dotted;">&nbsp;</span>'

        if($i%256 == 0) {
            echo "<br />";
        }
        $i++;
        }
    }

}
?> 
<script src="jquery-1.6.2.js"></script>
<script type="text/javascript">

var ids = [];

    $(document).ready(function($) {    
    $(".color_cell").bind('click', function() {
        alert('Test');
        //how do i add the ID (which is the $hexcolor into this array ids[]?
        ids.push($(this).attr('id'));       
    });
});

提前感谢!


看起来没问题啊。有什么地方出了问题吗? - Phil
你遇到了什么问题?有哪些功能是无法正常工作的? - Jamison Dance
2个回答

35

尝试这样做,每个循环的末尾,ids数组将包含所有的十六进制码。

var ids = [];

    $(document).ready(function($) {
    var $div = $("<div id='hexCodes'></div>").appendTo(document.body), code;
    $(".color_cell").each(function() {
        code = $(this).attr('id');
        ids.push(code);
        $div.append(code + "<br />");
    });



});

谢谢!有什么简单的方法可以检查/打印我的数组吗? - Richard
如果你在Chrome或者Firefox的Firebug中,使用console.log(ids)会将其记录到开发者控制台。 - Jamison Dance
var divnew = document.createElement('div'); for(var i = 0; i < ids.length; i++) { divnew.innerHTML += ids[i] + '<br/>'; } $('body').append(divnew); - James Hay

3
var ids = [];

    $(document).ready(function($) {    
    $(".color_cell").bind('click', function() {
        alert('Test');

        ids.push(this.id);       
    });
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接