所以我在这里有一个非常基本的需求,我无法弄清楚它为什么不起作用。
出于测试目的,我有100个div,其中包含d_fav100,d_fav101等ID ...
它看起来像是一堆这些
<div id='d_fav100'>This is DIV 100</div>
.
.
.
我的jquery赶上抓住div看起来像这样......
$("[id^='d_fav']").click( function() {
var fav = $(this).val();
alert(fav);
});
但是,我无法获得分配给变量fav的div中的值。警报始终为空白。
我错过了什么?
感谢您的期待!
JT
答案 0 :(得分:1)
对于div,您应该使用.text()
方法:
$("[id^='d_fav']").click( function() {
var fav = $(this).text();
alert(fav);
});
.val()
将获得输入/ textareas的值。
Jquery的text()
答案 1 :(得分:0)
您似乎需要委派该活动。此外,div
没有任何value
属性。如果要获取文本,请使用jquery text
方法
$('body').on('click' ,"div[id^='d_fav']",function(e){
console.log($(this).text().trim())
})
答案 2 :(得分:0)
如果我理解正确 - 你不想要div的实际文本,而是div的值(数字) - 即:100部分 - 在div的id中是相同的。
使用一个类并从click事件中获取div的id - 使用substr(5)删除d_fav部分 - 其余部分是你所追求的数字。
如果它是您正在使用的文本 - 那么您可以使用相同的代码,但使用已描述的.text()方法。
$(".d_fav").click( function() {
var fav = $(this).attr('id').substr(5);
alert(fav);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="d_fav" id='d_fav100'>This is DIV 100</div>
<div class="d_fav" id='d_fav101'>This is DIV 101</div>
<div class="d_fav" id='d_fav102'>This is DIV 102</div>
&#13;