2017-08-07 182 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

感謝您修復非法標識符。 –