3

在这种情况下,例如,如果$(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

4

3 回答 3

3

如果我理解你想要数值?

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

编辑2:感谢德里克的建议。永远忘记:

+$(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())有一个不平衡的括号。text() 总是返回一个字符串。这就是我做出上述假设的原因。尽管您的问题似乎暗示您想通过 text() 的结果进行搜索?在那种情况下,你会想要一个字符串, text() 给你。

如果你能给我们更多的细节和代码,那就更容易理解了

于 2012-11-16T05:29:11.723 回答
2

你可以这样做

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

这将永远是一个字符串。IE

var b = "" + 0 ;
// b = "0"
于 2012-11-16T05:30:02.663 回答
1

尝试这个

var key = String($(this).text());
于 2012-11-17T04:50:19.720 回答