0

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

3 回答 3

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”的方法。

于 2013-02-12T18:28:07.683 回答
0

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

$('#phone_div').append('<img id="bb" src="'+phones[1]+'" />');
于 2013-02-12T18:28:42.590 回答
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" />);
于 2013-02-12T18:31:34.350 回答