提取变量的innerhtml?使用jquery

时间:2013-02-12 18:17:09

标签: javascript jquery variables extract innerhtml

我试图将整个文档从javascript转换为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" />';

3 个答案:

答案 0 :(得分: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。您可以轻松地完全消除这行代码,只需在该元素上设置hh html,如:

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

这是最“类似jQuery”的方法。

答案 1 :(得分:0)

我建议做一些链接,在div中创建一个新的img

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

答案 2 :(得分:0)

因为您似乎以下列方式使用它:

// 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" />);