Javascript 通配符/动态div id未使用$获取值(此)

Javascript 通配符/动态div id未使用$获取值(此),javascript,jquery,html,Javascript,Jquery,Html,所以我在这里有一个非常基本的需求,我不明白为什么它不起作用 出于测试目的,我有100个div,id为d_fav100、d_fav101等 它看起来就像一堆这样 <div id='d_fav100'>This is DIV 100</div> . . . 但是,我无法获取分配给变量fav的div中的值。警报始终为空 我错过了什么 谢谢你的关注 JT对于div,应使用.text()方法: .val()将获取输入/文本区域的值 Jquery的您似乎需要委派事件。而且div没

所以我在这里有一个非常基本的需求,我不明白为什么它不起作用

出于测试目的,我有100个div,id为d_fav100、d_fav101等

它看起来就像一堆这样

<div id='d_fav100'>This is DIV 100</div>
.
.
.
但是,我无法获取分配给变量fav的div中的值。警报始终为空

我错过了什么

谢谢你的关注


JT

对于div,应使用
.text()
方法:

.val()
将获取输入/文本区域的值


Jquery的

您似乎需要委派事件。而且
div
没有任何
属性。如果要获取文本,请使用jquery
text
方法

$('body').on('click' ,"div[id^='d_fav']",function(e){
 console.log($(this).text().trim())
})

如果我理解正确-您不需要div的实际文本,而是div的值(数字)-即:100部分-在div的id中是相同的

使用一个类并从click事件的div中获取id-使用substr(5)删除d_fav部分-剩余的是您要查找的数字

如果它是您要查找的文本,那么您可以使用相同的代码,但使用前面描述的.text()方法

$(.d_fav”)。单击(函数(){
var fav=$(this.attr('id').substr(5);
警报(fav);
});

这是第100组
我是101组

这是DIV 102
请勿重复id。请改用class。您看到代码笔了吗?它起作用了。您需要提供更多的上下文以获得适用于您的代码的答案。“似乎您需要委托事件。”-这可能更有效,但OP显然不需要这样做,因为他们的单击处理程序正在按原样被调用。
$("[id^='d_fav']").click( function() {
   var fav = $(this).text();
   alert(fav);
});
$('body').on('click' ,"div[id^='d_fav']",function(e){
 console.log($(this).text().trim())
})