2013-02-12 40 views
0

我試圖將整個文檔從JavaScript轉換爲jQuery。於是我跑進了一堵磚牆。提取變量的innerhtml?使用jquery

所以在我的劇本我有我的數組:

var phones = new Array(); 
phones[0] = 'http://www.cellunlocker.net/blog/wp-content/uploads/2011/11/iphone-4.jpg" title="ipod" alt="ipod image'; 
phones[1] = 'http://upload.wikimedia.org/wikipedia/commons/thumb/1/17/Blackberry-Bold-9650-Verizon.jpg/365px-Blackberry-Bold-9650-Verizon.jpg'; 
phones.push('http://www.wired.com/images_blogs/gadgetlab/2010/03/samsung-galaxys-536x536.jpg'); 
phones.push('http://handies.phandroid.com/media/motorola-spice-1286473916-630.jpg'); 
phones.push('http://www.pitchpoleenterprises.com/shop/ImageUnavailable.jpg'); 

然後,我有我的功能以及:

function checkCase(){ 

    var phone = $('#cel')[0]; //document.getElementById('cel'); 
    var phone_div = $('#phone_display')[0]; //document.getElementById('phone_display'); 

由磚牆緊隨其後。我想轉換這個特定的代碼(目前評論爲JavaScript)。我嘗試了幾件事(只顯示最後一個)。基本上,我想要展示黑莓的圖片。現在,圖像本身並沒有顯示出來(其他圖片工作正常,因爲它們目前都在JavaScript中),但我正在嘗試改變它們 - 我決定從黑莓圖片開始。

基本上,我不知道如何將變量本身作爲jQuery改變。由於它是一個變量,而不是一個ID,我完全失去了做什麼。

case 'bb': 
     /*phone_div.innerHTML*/ /*$('phone_div').html()*/ $('phone_div')[0].innerHTML = '<img src="'+phones[1]+'" title="blackberry" alt="blackberry image" />'; 
+0

您可以發佈與雲的HTML這和一個jsFiddle如果可能的話? – j08691 2013-02-12 18:19:28

+0

當然http://jsfiddle.net/ENqFb/ – 2013-02-12 18:32:04

+0

似乎爲我工作:http://jsfiddle.net/j08691/ENqFb/1/。請注意,您包含jQuery的兩個版本。我剛剛清理了你的東西;沒有改變任何實際的代碼。 – j08691 2013-02-12 18:37:46

回答

0

由於phone_div是一個DOM元素,如果你想獲得它周圍的jQuery的包裝只是做這樣的:

$(phone_div).html('<img src="'+phones[1]+'" title="blackberry" alt="blackberry image" />'); 

而且你應該使用html()方法如圖所示,否則我有不知道爲什麼你會在jQuery的一切,你可以很容易做到:

phone_div.innerHTML = '<img src="'+phones[1]+'" title="blackberry" alt="blackberry image" />'; 

真的,我甚至不明白你爲什麼要這麼做:

var phone_div = $('#phone_display')[0]; 

這是非非jQuery的。你可以很容易地完全消除這一行代碼,並只需設置德的HTML元素,如:

$('#phone_display').html('<img src="'+phones[1]+'" title="blackberry" alt="blackberry image" />'); 

這是最「的jQuery樣」的方法來此。

+0

非常感謝!編碼工作正常:)至於爲什麼我想要所有東西進入jQUERY,這是因爲我正在修改我的工作,並試圖完全消除JavaScript(雖然技術上,jQUERY是JavaScript)。實際上,我試圖讓我的javascript評論,而我的jQuery將成爲我的焦點。我希望兩者都能夠理解我在JS和JQ中所做的一切。 – 2013-02-12 18:44:48

+0

@MidevilChaos請小心這種方法。通常情況下,基本的JavaScript比jQuery更能解決問題。當熟練使用javascript時,您將能夠識別這些情況。 – 2013-02-12 18:47:17

0

我建議做一些鏈接這到div

$('#phone_div').append('<img id="bb" src="'+phones[1]+'" />'); 
+0

謝謝!對我來說這種方法非常直觀。不會附加它意味着你只會繼續添加東西? – 2013-02-12 18:41:16

+0

是的,這是正確的。您正在div中添加元素。我想你應該使用之前發佈的.html(「..」) – valentinos 2013-02-13 11:01:42

0

中創建一個新的IMG,因爲它似乎你使用它的方式如下:

// id selector (returns an array), you grep the first one 
var phone_div = $('#phone_display')[0]; 
// not necessary, keep it to jQuery: 
var phone_div = $('#phone_display'); 

// now this won't work at all, you use a string, 
// which would be interpreted as an DOM Element selector. 
$('phone_div')[0] 

// i guess you want it like this: 
var phone_div = $('#phone_display'); 
phone_div.html(<img src="'+phones[1]+'" title="blackberry" alt="blackberry image" />); 
+0

關於第一部分,我沒有意識到這一點。謝謝。 我明白,一個字符串。疑難雜症!這很有道理。 至於最後一部分,你和其他人提到了這一點。它像一個魅力。感謝你們兩位:D – 2013-02-12 18:47:18