不确定为什么jQuery没有获取变量信息

时间:2011-08-16 19:32:03

标签: php javascript jquery syntax

这些值似乎没有出现并显示在页面上。它应该是创建以google_color弹出并且背景设置为十六进制值的div。

该应用程序假设采用像素图像数据并将其与我的swatch库(称为formatted_colors.js,即一个数组)相匹配。该数组如下所示:

var colors = []; colors["000000"] = "black"; colors["100000"] = "black"; colors["200000"] = "black";

也许我不想使用.each函数?虽然它是一个循环。

这是一个片段:

<div class="rounded_color" hex="<?php echo $css_color ?>" xy="<?php echo $x.$y ?>"></div>
<div id="<?php echo $x.$y ?>"></div>

<script type="text/javascript" src="jquery-1.6.2.js"></script>
<script src="formatted_colors.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">

//iterate through pixels and match rounded color to array in formatted_colors.js

$(document).ready(function() {

    $(".rounded_color").each(function(){ 
            var google_color = getColor($(this).attr("hex")); // finds a match of "hex" value in formatted_colors.js and return name to google_color
            $('#'+$(this).attr("hex")).html(google_color); // set the div's html to name which is google_color
            alert('#'+$(this).attr("id")); //testing if value is there, but shows #undefined
            $('#'+$(this).attr("hex")).css('background-color:', google_color); 
    })


// get name of color function from formatted_colors.js

function getColor(target_color){
    if (colors[target_color] == undefined) { // not found
      return "no match";
    } else {
      return colors[target_color];
    }
  } // end getColor function


}) // end ready function

</script>

抱歉,我是新手,所以我不确定现在该怎么做。

以下是我的完整代码:http://pastebin.com/HEB3TWZP

提前致谢!

1 个答案:

答案 0 :(得分:1)

您不需要连接#this是迭代中的当前元素。

此外,您可能希望执行类似var $this = $(this);的操作清理代码,而不是在同一次迭代中反复重新创建jQuery对象。