2017-08-07 127 views
-3

我可能忽略了某些东西,但jQuery .val函数似乎不起作用。我试图定位列表项中的字符串,但它会记录0jQuery .val()函数返回0

$(document).ready(function() { 
    $(".list-item").click(function() { 
     var list-item = $(this).val(); 
     console.log(list-item); 
    }); 
}); 
+0

大多数列表项没有值。你想要的文字内容? –

+2

'list-item'是一个无效的变量名称。另外,还提供了[mcve] – charlietfl

+1

此外,该代码绝对不会记录任何内容。 'list-item'不是一个有效的变量名。 –

回答

3

假设.list-itemli元件,这个问题是因为它不必被检索value属性。如果您想要获取元素内的字符串,请改为使用text()

另请注意,使用名为list-item的变量无效; -是减法运算符,因此listitem预计会是变量本身。请注意,我在下面的例子中把它改为listItem

$(".list-item").click(function() { 
    var listItem = $(this).text(); 
    console.log(listItem); 
}); 
1

试试这个:

您应该使用$(this).text();,而不是$(this).val();

$(document).ready(function() { 
    $(".list-item").click(function() { 
     var list-item = $(this).text(); 
     console.log(list-item); 
    }); 
}); 
+0

list-item?这里有很多问题。 –

0
在这种情况下

我想你应该尝试,而不是缬氨酸,的.text()而不是.VAL(),

$(document).ready(function() { 
    $(".list-item").click(function() { 
    var listItem = $('.list-item').text(); 
    console.log(listItem); 
    }); 
}); 

但是,可以肯定的是,你想要得到唯一一个especific元素在这种情况下,您需要更改您使用的选择器的类型。

+0

感谢您修复非法标识符。 –