Javascript 如何基于对象属性值显示内容

Javascript 如何基于对象属性值显示内容,javascript,jquery,html,Javascript,Jquery,Html,我有一个加载以下对象的页面: var fields = {"age":"on","email":"useremail@gmail.com","firstname":"John","lastname":"Smith","officialrules":"on","question":"a"}; 每个属性的值都是动态的,并根据用户在上一页上输入的内容进行更改 最后一个属性,question的值可以是a或b或c 在页面的MyHTML中,有三个隐藏的div(每个div包含一种显示样式:none) 但是

我有一个加载以下对象的页面:

var fields = {"age":"on","email":"useremail@gmail.com","firstname":"John","lastname":"Smith","officialrules":"on","question":"a"}; 
每个属性的值都是动态的,并根据用户在上一页上输入的内容进行更改

最后一个属性,question的值可以是abc

在页面的MyHTML中,有三个隐藏的div(每个div包含一种显示样式:none)


但是,我如何制作一个脚本,使其能够自动处理所有三种场景?非常感谢。

在jQuery中,这很简单:

$( function() {
    if (fields.question == 'a') $( '#div1' ).show();
    if (fields.question == 'b') $( '#div2' ).show();
    if (fields.question == 'c') $( '#div3' ).show();
});
您可以将其放在
var字段
语句之后


请注意,
$(function(){
意味着代码将在DOM就绪后执行

在jQuery中,这很简单:

$( function() {
    if (fields.question == 'a') $( '#div1' ).show();
    if (fields.question == 'b') $( '#div2' ).show();
    if (fields.question == 'c') $( '#div3' ).show();
});
您可以将其放在
var字段
语句之后


请注意,
$(function(){
意味着代码将在DOM就绪后执行

在jQuery中,这很简单:

$( function() {
    if (fields.question == 'a') $( '#div1' ).show();
    if (fields.question == 'b') $( '#div2' ).show();
    if (fields.question == 'c') $( '#div3' ).show();
});
您可以将其放在
var字段
语句之后


请注意,
$(function(){
意味着代码将在DOM就绪后执行

在jQuery中,这很简单:

$( function() {
    if (fields.question == 'a') $( '#div1' ).show();
    if (fields.question == 'b') $( '#div2' ).show();
    if (fields.question == 'c') $( '#div3' ).show();
});
您可以将其放在
var字段
语句之后


请注意,
$(function(){
意味着在DOM就绪后将执行代码

我将重命名dive
diva
divb
divc
,然后尝试以下操作:

document.getElementById('div'+fields.question).style.display='block';

我会重命名dive
diva
divb
divc
,然后尝试以下操作:

document.getElementById('div'+fields.question).style.display='block';

我会重命名dive
diva
divb
divc
,然后尝试以下操作:

document.getElementById('div'+fields.question).style.display='block';

我会重命名dive
diva
divb
divc
,然后尝试以下操作:

document.getElementById('div'+fields.question).style.display='block';

将div重命名为diva、divb、divc等,然后执行以下操作

var id = 'div' + fields.question;
var div = document.getElementById(id);
if( div ) div.style.display = 'block';


这更具扩展性,因为您可以在不更新代码的情况下添加其他div。

将div重命名为diva、divb、divc等,然后执行以下操作

var id = 'div' + fields.question;
var div = document.getElementById(id);
if( div ) div.style.display = 'block';


这更具扩展性,因为您可以在不更新代码的情况下添加其他div。

将div重命名为diva、divb、divc等,然后执行以下操作

var id = 'div' + fields.question;
var div = document.getElementById(id);
if( div ) div.style.display = 'block';


这更具扩展性,因为您可以在不更新代码的情况下添加其他div。

将div重命名为diva、divb、divc等,然后执行以下操作

var id = 'div' + fields.question;
var div = document.getElementById(id);
if( div ) div.style.display = 'block';


这更具扩展性,因为您可以在不更新代码的情况下添加其他div。

如果有三个固定值,您可以将div的id设置为它们所代表问题的相同值,并使用jquery显示div。例如:
$(“div#div”+fields.question).show();

如果有三个固定值,您可以将div的id设置为它们表示的问题的相同值,并使用jquery显示div。例如:
$(“div#div”+fields.question).show();

如果有三个固定值,您可以将div的id设置为它们表示的问题的相同值,并使用jquery显示div。例如:
$(“div#div”+fields.question).show();

如果有三个固定值,您可以将div的id设置为它们表示的问题的相同值,并使用jquery显示div。例如:
$(“div#div”+fields.question).show()

我认为这样做的方法是将div与可能的值绑定。您可以使用
id
class
值来实现这一点。使用
class
值可以潜在地基于
问题
值显示多个元素(如果有必要的话),所以我个人会走这条路,考虑到灵活性

这样做可以满足您的需要:

HTML

<div id="div1" class="a"></div>
<div id="div2" class="b"></div>
<div id="div3" class="c"></div>

我认为这样做的方法是将div与可能的值联系起来。您可以使用
id
class
值来实现这一点。使用
class
值将允许您根据
问题
值(如果需要)显示多个元素,所以我个人会走这条路,考虑到灵活性

这样做可以满足您的需要:

HTML

<div id="div1" class="a"></div>
<div id="div2" class="b"></div>
<div id="div3" class="c"></div>

我认为这样做的方法是将div与可能的值联系起来。您可以使用
id
class
值来实现这一点。使用
class
值将允许您根据
问题
值(如果需要)显示多个元素,所以我个人会走这条路,考虑到灵活性

这样做可以满足您的需要:

HTML

<div id="div1" class="a"></div>
<div id="div2" class="b"></div>
<div id="div3" class="c"></div>

我认为这样做的方法是将div与可能的值联系起来。您可以使用
id
class
值来实现这一点。使用
class
值将允许您根据
问题
值(如果需要)显示多个元素,所以我个人会走这条路,考虑到灵活性

这样做可以满足您的需要:

HTML

<div id="div1" class="a"></div>
<div id="div2" class="b"></div>
<div id="div3" class="c"></div>
做这个怎么样

var showDiv = function (hideID, showID) {
   $("#" + hideID).hide();
   $("#" + showID).show();
}
如果要更改Div,请调用该函数。

这样做怎么样

var showDiv = function (hideID, showID) {
   $("#" + hideID).hide();
   $("#" + showID).show();
}
如果要更改Div,请调用该函数。

这样做怎么样

var showDiv = function (hideID, showID) {
   $("#" + hideID).hide();
   $("#" + showID).show();
}
如果要更改Div,请调用该函数。

这样做怎么样

var showDiv = function (hideID, showID) {
   $("#" + hideID).hide();
   $("#" + showID).show();
}

要更改Div时调用该函数。

这太棒了!我不知道如何解决它…但这对我来说是有效的:$(function(){var id='Div'+fields.question;var Div=document.getElementById(id);if(Div)Div.style.display='block';});我不熟悉Javascript–您能解释一下是什么让它工作的吗?我想了解它工作的原因以及我需要学习什么来了解这一点。@Ori我很乐意,但您能更具体地回答您的问题吗?哪一行没有意义?第1行:获取div id(diva,divb,divc).2行:获取文档元素对象.Se