我在jquery和ajax中使用if-else语句。如果满足条件,我想通过html div的id在其中附加/显示一些数据。所以我有5个标签。我需要每个选项卡显示特定的数据,这些数据是通过ajax从php和mysql接收的。
首先我要做的是按id对结果进行排序,如下所示:
// Firstly I secure the data from the Ajax function is HTML.
var result = $.parseHTML(data);
// Then I define the individual results. This is achieved by filtering the class.
var tstab1 = $(result).filter(".tab1");
var tstab2 = $(result).filter(".tab2");
var tstab3 = $(result).filter(".tab3");
var tstab4 = $(result).filter(".tab4");
var tstab5 = $(result).filter(".tab5");
// What to show when condition wont be met
var error = $(result).filter(".tab-center");
现在我创建if else语句。
if(tstab1.length > 0 ){ // if the length is higher than 0 I want it to show the content
$("#tab-content #tab1").html(tstab1);
} else if (tstab1.length === 0 ){ // if not it needs to show a message
$("#tab-content #tab1").html(error);
}
这是完美的工作,但我不知道如何检查其余的tstab的在同一个功能?我需要使用某种javascript开关语句吗?
提前感谢:)
2条答案
按热度按时间wd2eg0qa1#
沿着这些思路:
dbf7pr2w2#
由于不确定要检索的数据的结构,可能需要进行一些更改。不过,根据您提出的问题和提供的示例代码,以下是一些建议,可用于折射代码并实现预期结果:
为每个元素添加一个共享类(例如tab),而不是为每个元素分配一个变量。
使用for循环遍历每个元素,如果需要,可以使用switch语句将不同的内容附加到dom中。但是,根据检索到的数据,可能有一种更动态的方法来实现这一点,而不需要使用switch或if/else语句。