我有不同的xml(用于diff os),我只发布了与SunOs xml相关的xml部分。

  <osname>SunOS
</osname>

这是由jQuery获取的
var osname = $(this).find('osname').text();

在后面的代码中,当我进行比较时,它总是出现在else部分中,我将console.info用于Firebug并附加了我的输出的屏幕截图
console.info("Before checking:"+osname);
if(osname=="HP-UX")
    console.info("HP-UX");
else if(osname=="AIX")
    console.info("AIX");
else if(osname=="SunOS")
    console.info("SunOS");
else
{
    console.info("Linux -");
    }

Firebug console.info的屏幕截图

我的问题是为什么它不能检查SunOs或其他?

注意:我认为osname之后还有一个额外的字符,我还做了一个xsl,因为当我检查我执行以下操作时,如何在JS中进行操作?

XSL代码
<xsl:if test="$sunos='SunOS&#xa;'">

我也尝试过if(osname=="SunOS&#xa;")

最佳答案

这是因为字符串实际上不是SunOS,而是SunOS\n(其中\n代表换行符)。使用 jQuery.trim 删除周围的空间。

var osname = $.trim($(this).find('osname').text());

关于javascript - 我的JavaScript代码中的字符串比较有什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6408288/

10-09 02:04