不是一个字符串

时间:2012-11-16 05:26:24

标签: javascript jquery

在这种情况下,例如,如果$(this).text()变为0,则它​​将不起作用,因为在开关0中不等于“0”。

在我的任务中,我无法从案例中删除“”。

所以基本上$(this).text()必须以某种方式变成一个字符串。有什么想法吗?

谢谢!

...
$( '.xyz' ).click( function()...
  var key = $(this).text();
  switch( key ) {
    case "0":
    case "00":
    case "1":
    case "2":
    case "3":
    case "4":
    case "5":
    case "6":
    case "7":
    case "8":
    case "9":
    ...

https://gist.github.com/188d81480a1503d1985b

3 个答案:

答案 0 :(得分:3)

如果我理解你想要数值?

var key = parseInt($(this).text()); //or
key = parseDouble($(this).text());

编辑2: 感谢Derek的建议。永远忘记:

+$(this).text(); //also converts to integer; parseint can be given a radix (base). + if string is already in the form of a base 10 integer

编辑:此外,您的代码看起来不对; $(this).text())有一个不平衡的paranthesis。 text()始终返回一个字符串。这就是我做出上述假设的原因。虽然你的问题似乎暗示你想要搜索text()的结果?在这种情况下,你会想要一个字符串,text()给你。

如果您可以提供更多详细信息和代码,则更容易理解

答案 1 :(得分:2)

你可以这样做

var key = "" + $(this).text();

哪个永远是一个字符串。 IE

var b = "" + 0 ;
// b = "0"

答案 2 :(得分:1)

试试这个

var key = String($(this).text());