2011-08-16 9 views
1

値がページに出てきていないようです。これは、google_colorでポップアップ表示され、背景が16進値に設定されているdivを作成する必要があります。jQueryが変数情報を取得していない理由がわかりません

このアプリケーションでは、ピクセル画像データを取り込み、配列である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

ありがとう:

は、ここに私の全体のコードです!

+0

ここで、colors arraysをformatted_colors.jsに設定していますか?そこに$(document).ready()関数を設定すると、このファイルにアクセスしようとしたときに変数のスコープに問題があると思います。また、背景色を.css()で設定しても、コロンが必要ではないと思います。 – Compeek

答えて

1

#を連結する必要はありません。 thisは、反復の現在の要素です。

var $this = $(this);コードをクリーンアップし、同じ繰り返しでjQueryオブジェクトを何度も再作成しているわけではありません。

関連する問題