hash.indexOf()if else语句

时间:2014-02-27 03:44:56

标签: javascript jquery html css

当网址中有某个标签时,我会看到几个按钮(3)。问题是,当我使用if, else if语句时,代码不能发挥作用。当哈希标记为iphone时,会出现三个按钮并附加正确的字符串,但当我单击windowsphone时会出现三个按钮,但它们会以某种方式将我带回iphone字符串。

我尝试了elseelse if和所有if,但没有任何效果。基本上,windowsphone不会在HTML标记中加载它的字符串。

iphone按钮(网址中带有主题标签):http://jsfiddle.net/66kCf/show/#iphone

windowsphone按钮(在网址中包含#标签):http://jsfiddle.net/66kCf/show/#windowsphone

Origninal JSFiddle:http://jsfiddle.net/66kCf/

if (hash.indexOf('iphone') != -1)
{
    $("#linkdiv").append(nextLink);
    $("#linkdiv1").append(nextLink);
    $("#linkdiv2").append(nextLink);
}   
else if (hash.indexOf('windowsphone') != -1)
{
    $("#linkdiv3").append(nextLink);
    $("#linkdiv4").append(nextLink);
    $("#linkdiv5").append(nextLink);
}

1 个答案:

答案 0 :(得分:1)

我能看到的唯一问题是你没有正确关闭plain元素,不要使用自闭关标签,它创建一个嵌套的dom结构,其中windows plain元素嵌套在一个iphone元素中。 / p>

<plain id='linkdiv' href='phone-condition' onclick="location.href = $(this).attr('href')+'?/phone-shipping-method?q1=AppleiPhone&x=103&y=13-ship-it-yourself/#iPhone';return false" ></plain>

演示:Fiddle

使用浏览器开发人员工具检查生成的html,您可以看到标记是如何错误嵌套的,其中一个plain元素嵌套在另一个元素中

而不是<plain ..... />使用<plain ....></plain>