我正在尝试将ID,即html span中的$ hexcode值添加到数组中。我如何使用jQuery执行此操作?最后,我将需要获取这些十六进制值并将它们与颜色索引匹配。
<?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;"> </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'));
});
});
提前致谢!
答案 0 :(得分:26)
试试这个,在每个循环结束时,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 />");
});
});
答案 1 :(得分:2)
var ids = [];
$(document).ready(function($) {
$(".color_cell").bind('click', function() {
alert('Test');
ids.push(this.id);
});
});