多个变量对不同的ID使用相同的值

时间:2016-07-28 14:03:23

标签: jquery

我在单页应用程序上使用窗口位置和IncludeCMSContent1, IncludeCMSContent2, IncludeCMSContent3的DIV ID。当满足这些条件时,外部内容将被注入ID。

但是,我发现3个变量中只有1个正在触发,实际上是第一个,因为如果页面上存在IncludeCMSContent3,则此ID不会触发,因为IncludeCMSContent1是优先考虑。

我该如何解决这个问题?页面始终相同,因此值始终相同,但IncludeCMSContent1/2/3的ID将在同一页面上交换。

var TCEApplicationNoWaiver = "TCEApplication.aspx"
var TCEApplicationWaiver = "TCEApplication.aspx"
var TCEApplicationNotEligible = "TCEApplication.aspx"

if (window.location.href.toLowerCase().indexOf(TCEApplicationNoWaiver.toLowerCase()) >= 0) {
            $("#IncludeCMSContent1").load("http://www.example.com/tce-application-noWaiver.htm #externalContent");
}
else if (window.location.href.toLowerCase().indexOf(TCEApplicationWaiver.toLowerCase()) >= 0) {
            $("#IncludeCMSContent2").load("http://www.example.com/tce-application-Waiver.htm #externalContent");
}
else if (window.location.href.toLowerCase().indexOf(TCEApplicationNotEligible.toLowerCase()) >= 0) {
            $("#IncludeCMSContent3").load("http://www.example.com/not-eligible.htm #externalContent");
}

1 个答案:

答案 0 :(得分:2)

删除else语句,以便触发所有条件:

if (window.location.href.toLowerCase().indexOf(TCEApplicationNoWaiver.toLowerCase()) >= 0) {
    $("#IncludeCMSContent1").load("http://www.example.com/tce-application-noWaiver.htm #externalContent");
}

if (window.location.href.toLowerCase().indexOf(TCEApplicationWaiver.toLowerCase()) >= 0) {
    $("#IncludeCMSContent2").load("http://www.example.com/tce-application-Waiver.htm #externalContent");
}

if (window.location.href.toLowerCase().indexOf(TCEApplicationNotEligible.toLowerCase()) >= 0) {
    $("#IncludeCMSContent3").load("http://www.example.com/not-eligible.htm #externalContent");
}

希望这有帮助。