Error with this.id in Javascript


Error with this.id in Javascript

好的,所以我使用的是JS,下面的函数有问题。

在我的PHP文件中,我有:

<?php
    $file = fopen("utensils/".$cake.".txt", "r") or exit("Unable to open file!");
    while(!feof($file)) {
            $image = fgets($file);
            echo "<div id='".$image."' class='utensil' onclick='useUtensil(this.id)'>".$image."</div>";
    }
    fclose($file);
 ?>

在JS中,我有:

function useUtensil(id) {
        alert(id);
    if (id == "Sandwich Tins") {    
        alert(id);
    } else {
        alert("You do not need that utility!");
    }
}

这是一个非常奇怪的错误,因为我有一段几乎相同的代码,但它与此代码一起工作,尽管第一个警报(id)提醒"Sandwich Tins",但它没有提醒(id),而是运行到else语句中。

非常感谢您的帮助!

所以您是说警报返回"Sandwich Tins",但比较仍然失败?如果是这样的话,那么正如其他人所提到的,要么是:

1) 前导空格或尾随空格。

2) 案件问题(尽管从你声称的情况来看,情况似乎并非如此)。无意双关。

3) "三明治罐头"是错误的。也许应该是id="Sandwich Tin"?

通过这样做测试第一个:

function useUtensil(id) {
    if (id.trim() == "Sandwich Tins") {    
        alert(id);
    } else {
        alert("You do not need that utility!");
    }
}

如果这不起作用,试试这个:

function useUtensil(id) {
    if (id.trim().toLowerCase() == "Sandwich Tins".toLowerCase()) {    
        alert(id);
    } else {
        alert("You do not need that utility!");
    }
}

如果这仍然不起作用,我建议检查控制台中的输入,并确保将其与正确的字符串进行比较。

放置一个空格id="Sandwich Tins"