2016-04-09 10 views
1

私は基本的に変数の値を引用符で囲む引数を受け入れるために、さまざまなdiv要素の "top"属性と "left"属性を変更しようとしています。 yがjqueryは引用された変数を受け付けません

position:relative 

とTOPLEFTを有するコンテナDIVに位置

position: absolute 

とdiv要素である

function inQuotes(l) { 
    return '"' + l + 'px"'; 
} 

function Rearrange(k, topleft) { 
    $(y).css("top", inQuotes(topleft[0])).css("left", inQuotes(topleft[1])); 
} 

は、2つの値の配列、上部の左の数でありますピクセルdivを移動したいしかし、私はそれを無視し、スクリプトの残りの部分を実行すると、スクリプトは関数を実行しません。

Iを経て、両方の機能のすべての部分をテストして、と結論づけた:inQuotesは、(40) "40ピクセル" を返すことになるので、

inQuotes(l)は予想通り "LPX" を返します。 ( "40ピクセル" を警告

alert(inQuotes(40)); 

を実行してテストした。)

をjqueryのセレクタ作品。たとえば、y = "#demo"の場合、他のjqueryメソッドは期待どおりに実行されます。

Z = "40ピクセル"、予想通りその後

$(y).css("top", z); 

実行される場合。

これは、inQuotesが文字列を返していないと思いますが、それは何を返していますか?どんな助けでも大歓迎です。ありがとうございました。

+1

この場合、引用符を追加する必要はありません。 – Pointy

答えて

4

これは、inQuotesが文字列を返さないと思いますが、それは何を返すのですか?

"lpx"です。 (そして、それはあなたがリテラルテキストのためのJS コードで書くと同じように、それは文字通り二重引用符がの一部であると、"lpx"を含む文字列です"lpx"ではありません。)

今すぐことが有効ですCSSの長さの値?あなたのスタイルシートにtop: "1px"と書きますか?いいえ、もちろんあなたはしません。

したがって、二重引用符を取り除いてください。

+0

ロ、見て、それは働いた!ありがとう、私を助けてくれる親切な見知らぬ人。 –

関連する問題