Php 如何在jQuery中正确使用开关? $(文档).ready(函数(){ //根据数据库返回的数据设置所有徽标图像 var WinBack=$('div.jWinBackFrom').html(); 交换机(WinBack){ 案例“1”://如果数据库返回1:设置Verizon FiOS徽标 $('div.jWinBackFrom').prepend('/assets/images/verizon fios logo.jpg/>); 打破 案例“2”://如果数据库返回2:设置DirecTV徽标 $('div.jWinBackFrom').prepend('assets/images/directv logo.jpg/>); 打破 案例“3”://如果数据库返回3:设置DISH网络徽标 $('div.jWinBackFrom').prepend('assets/images/dish network logo.jpg/>); 打破 }

Php 如何在jQuery中正确使用开关? $(文档).ready(函数(){ //根据数据库返回的数据设置所有徽标图像 var WinBack=$('div.jWinBackFrom').html(); 交换机(WinBack){ 案例“1”://如果数据库返回1:设置Verizon FiOS徽标 $('div.jWinBackFrom').prepend('/assets/images/verizon fios logo.jpg/>); 打破 案例“2”://如果数据库返回2:设置DirecTV徽标 $('div.jWinBackFrom').prepend('assets/images/directv logo.jpg/>); 打破 案例“3”://如果数据库返回3:设置DISH网络徽标 $('div.jWinBackFrom').prepend('assets/images/dish network logo.jpg/>); 打破 },php,javascript,jquery,Php,Javascript,Jquery,在页面上,我在for循环中有多个 因此,想象一下1,2,3,2,1``3,1 基本上都是随机的。jQuery需要从所有这些DIV中获取值,并将数值与相关图像切换 有人能告诉我,如果我这样做是正确的(意思是正确的方法)这是最有效的(可能不是),那么什么是 我需要对许多其他字段重复这个过程。我的理论是,让DB返回一个简单的值(如1)并使用jQuery动态构建页面会更快 感谢您的帮助!谢谢!在这种情况下,通常最好创建一个查找哈希: 然后你就可以像 var hash = { 1: 'veri

在页面上,我在for循环中有多个

因此,想象一下
1
2
3
2
1``3
1
基本上都是随机的。jQuery需要从所有这些DIV中获取值,并将数值与相关图像切换

有人能告诉我,如果我这样做是正确的(意思是正确的方法)这是最有效的(可能不是),那么什么是

我需要对许多其他字段重复这个过程。我的理论是,让DB返回一个简单的值(如1)并使用jQuery动态构建页面会更快


感谢您的帮助!谢谢!

在这种情况下,通常最好创建一个查找哈希:

然后你就可以像

var hash = {
    1:   'verizon-fios-logo.jpg',
    2:   'directv-logo.jpg',
    3:   'dish-network-logo.jpg'
};
$('div.jWinBackFrom').prepend('/assets/images/“')+哈希[$('div.jWinBackFrom').html()]+'/>);

事实证明,在您的例子中,您几乎可以使用普通Javascript数组而不是普通对象。您只需要将索引从
0
开始,而不是从
1

开始。我对PHP一无所知,但我倾向于将您的选项添加到数组中,并查找索引

$('div.jWinBackFrom').prepend('<img id="WinBackLogo" src="<?php echo site_url();?>/assets/images/"' + hash[ $('div.jWinBackFrom').html() ] + ' />');
var选项=[
“”,//索引0处显然没有任何内容
“/assets/images/verizon fios logo.jpg”/>”,
“assets/images/directv logo.jpg”/>”,
'资产/图像/dish网络徽标.jpg”/>'
]
$(文档).ready(函数(){
$('div.jWinBackFrom').html(函数(i,htm){
返回选项[htm];
});
});

除了该类中有多个div之外。您必须循环它们。这是一个非常简单的修复方法,但这会使数值在应该替换时仍保留在div中。@JamesMontagne:你说得对。我更新为使用
.html()
。你们太棒了!谢谢:)我想我会坚持让后端输出适当的图像,而不是让javascript在整个页面上运行,用图像替换
id
s。不必要的复杂性似乎是一个小收获(如果有的话)@JamesMontagne是的,你可能是对的。我可以用PHP简单地用一个SWITCH语句完成这项工作,并获得我想要的输出,但是我正在尝试学习jQuery。我的第二个目标是使页面看起来更具动态性。一石二鸟。。。
$('div.jWinBackFrom').prepend('<img id="WinBackLogo" src="<?php echo site_url();?>/assets/images/"' + hash[ $('div.jWinBackFrom').html() ] + ' />');
var choices = [
    "", // Apparently nothing at index 0
    '<img id="WinBackLogo" src="<?php echo site_url();?>/assets/images/verizon-fios-logo.jpg" />',
    '<img id="WinBackLogo" src="<?php echo base_url();?>assets/images/directv-logo.jpg" />',
    '<img id="WinBackLogo" src="<?php echo base_url();?>assets/images/dish-network-logo.jpg" />'
]

$(document).ready(function() {
    $('div.jWinBackFrom').html(function(i, htm) {
        return choices[htm];
    });
});