2011-07-13 105 views
0

我有這個jquery問題,似乎只有在使用背景圖像url時纔會中斷。我的印象是,它看起來像一個字符逃避問題,但我可能是錯的。jquery轉義字符問題?

這裏就是我有一個工作演示版本:http://jsfiddle.net/W4CZG/

基本上我有內嵌式的一些可拖動的div在html:

<div class="dragme" style="background-color:#ccc;">1</div> 
<div class="dragme" style="background-image:url(images/image1.gif);">2</div> 

在劇本中,我目前使用以下在可投放區域內添加span標籤以設置樣式:

$(this).html('<span style="' + draggable.attr('style') + '"></span>'); 

帶背景色的第一個div正常工作。看着螢火蟲,它創建類似於:

<span style="background-color: rgb(204, 204, 204);"></span> 

如果我使用任何其他樣式 - 如邊距,字體等 - 它也可以。但我的問題,因此我的問題是在背景圖片中,生成的span標籤沒有獲得背景圖片的內聯樣式,而是將所有內容混淆了?在螢火蟲我看到這個:

<span);="" image1.gif="" images="" style=""></span> 

這是一個charcater逃生問題?更重要的是,我如何解決這個問題?

謝謝你的時間!

回答

2

你應該做

$('<span/>', { style: draggable.attr('style') }) 

這將處理所有爲你的逃避問題。

在你的情況,

$(this).html('<span style="' + draggable.attr('style') + '"></span>'); 

將成爲

$(this).html($('<span/>', { style: draggable.attr('style') })); 
+0

嘿Dogbert,感謝您的答覆和你的時間,讓我試試看。在發佈我的問題後,我意識到問題只發生在FF(甚至IE6工作正常,這有多奇怪?!)。無可否認,我還在學習jquery,我的語法可能不夠乾淨或高效......但讓我試試你的建議,它看起來更清晰。 – tifbs

+0

剛剛嘗試過,它效果很好,謝謝! – tifbs