Jquery 用于if-else动态更改内容的较短代码
我有一个由系统生成的数据层,我想根据数据层中的值更改页面的特定内容。我提出了这个条件if-else语句,它工作得很好,但是有没有更好的(更短更干净的)方法来使用jQuery根据这些值更改元素的内容呢Jquery 用于if-else动态更改内容的较短代码,jquery,Jquery,我有一个由系统生成的数据层,我想根据数据层中的值更改页面的特定内容。我提出了这个条件if-else语句,它工作得很好,但是有没有更好的(更短更干净的)方法来使用jQuery根据这些值更改元素的内容呢 for (const [value, selector] of [ [dataLayer.majorValue, "#major-value"], ]) { if (value == 'Art' ) { $(selector).html('Art descript
for (const [value, selector] of [
[dataLayer.majorValue, "#major-value"],
]) {
if (value == 'Art' ) {
$(selector).html('Art description lorem ipsum blurb goes here.');
} else if (value == 'Business') {
$(selector).html('Business description lorem ipsum blurb goes here.');
} else if (value == 'Education') {
$(selector).html('Education description lorem ipsum blurb goes here.');
} else if (value == 'Humanities') {
$(selector).html('Humanities description lorem ipsum blurb goes here.');
} else if (value == 'Health') {
$(selector).html('Health description lorem ipsum blurb goes here.');
} else if (value == 'Mathematics') {
$(selector).html('Mathematics description lorem ipsum blurb goes here.');
} else if (value == 'Languages') {
$(selector).html('Languages description lorem ipsum blurb goes here.');
} else if (value == 'Sciences') {
$(selector).html('Sciences description lorem ipsum blurb goes here.');
}
}
如果级联,则替换为
switch(value) {
case 'Art':
$(selector).html('Art description lorem ipsum blurb goes here.');
break;
case 'Business':
$(selector).html('Business description lorem ipsum blurb goes here.');
break;
case 'Education':
$(selector).html('Education description lorem ipsum blurb goes here.');
break;
case 'Humanities':
$(selector).html('Humanities description lorem ipsum blurb goes here.');
break;
case 'Health':
$(selector).html('Health description lorem ipsum blurb goes here.');
break;
case == 'Mathematics':
$(selector).html('Mathematics description lorem ipsum blurb goes here.');
break;
case 'Languages':
$(selector).html('Languages description lorem ipsum blurb goes here.');
break;
case 'Sciences':
$(selector).html('Sciences description lorem ipsum blurb goes here.');
break;
default:
// default if one exists or could just be last one (sciences)
}
或
或者使用字典查找基于关键字的简介
是从函数调用返回的模糊,还是需要硬编码到页面中?如果级联为
switch(value) {
case 'Art':
$(selector).html('Art description lorem ipsum blurb goes here.');
break;
case 'Business':
$(selector).html('Business description lorem ipsum blurb goes here.');
break;
case 'Education':
$(selector).html('Education description lorem ipsum blurb goes here.');
break;
case 'Humanities':
$(selector).html('Humanities description lorem ipsum blurb goes here.');
break;
case 'Health':
$(selector).html('Health description lorem ipsum blurb goes here.');
break;
case == 'Mathematics':
$(selector).html('Mathematics description lorem ipsum blurb goes here.');
break;
case 'Languages':
$(selector).html('Languages description lorem ipsum blurb goes here.');
break;
case 'Sciences':
$(selector).html('Sciences description lorem ipsum blurb goes here.');
break;
default:
// default if one exists or could just be last one (sciences)
}
或
或者使用字典查找基于关键字的简介
您从函数调用中得到的模糊是返回的,还是需要硬编码到页面中?将它们放在与
值相同的键的对象中是最简单的
const getDescription = value => {
const descriptions = {
'Art': 'Art description... ',
'Business': 'Business description...',
'Education': 'Education description....',
// ....
'Sciences': 'Sciences description....'
};
return descriptions[value] || 'Default not found description';
}
$(selector).html(getDescription(value))
将它们放在与value
具有相同键的对象中是最简单的
const getDescription = value => {
const descriptions = {
'Art': 'Art description... ',
'Business': 'Business description...',
'Education': 'Education description....',
// ....
'Sciences': 'Sciences description....'
};
return descriptions[value] || 'Default not found description';
}
$(selector).html(getDescription(value))
我喜欢。回程线是干什么的?我需要它吗?从函数返回描述。如果需要,该函数可以放在其他逻辑流之外的其他地方。我本应该更清楚一些,我被或| | |“Default not found description”(默认未找到描述)弄糊涂了,因为值
可能与对象中的任何键都不匹配。如果这不太可能,您就不需要使用| |“Default…”
这比条件句更好、更简洁。谢谢我喜欢。回程线是干什么的?我需要它吗?从函数返回描述。如果需要,该函数可以放在其他逻辑流之外的其他地方。我本应该更清楚一些,我被或| | |“Default not found description”(默认未找到描述)弄糊涂了,因为值
可能与对象中的任何键都不匹配。如果这不太可能,您就不需要使用| |“Default…”
这比条件句更好、更简洁。谢谢D