在jquery中查找id的值

在jquery中查找id的值,jquery,cakephp,Jquery,Cakephp,当我试图获取id的值时,它返回0;我想要“a”。 提前谢谢 <script> $(document).ready(function() { $('#lettera').click(function(){ var a = $('#lettera').val();console.log(a); }); }); </script> <section> <div class="container"> <

当我试图获取id的值时,它返回0;我想要“a”。 提前谢谢

<script>
$(document).ready(function() {
    $('#lettera').click(function(){
       var a = $('#lettera').val();console.log(a);
    });
});
</script>
<section>
   <div class="container">
       <div class="row">
           <ul class="list-inline">
               <?php
                   foreach($alphas as $letter){
                       echo ($this->Html->tag('li', $letter, ['id' => 'letter'.$letter]));
                   }
               ?>
           </ul>
       </div>
   </div>
</section>

$(文档).ready(函数(){
$('#letter A')。单击(函数(){
var a=$('#letter a').val();console.log(a);
});
});

您正在创建的元素似乎是
li
,并且
li
没有
属性。您可能正在查找元素的文本,因此请使用
text()

$('#lettera').click(function(){
  var a = $(this).text();
  console.log(a);
});
替换

 var a = $('#lettera').val()


谢谢,但如何动态更改id?如果我想对$('#letter A')到$('#letter Z')执行相同的操作,该如何执行?好吧,你真的不应该这样做,因为
id
应该在整个页面生命周期中都是相同的。如果确实需要这样做,可以使用
attr()
$(this.attr('id','foo')的setter在我的例子中,id是动态的。我有26个字母表属于id,分别是a=$('#letter a')、b=$('#letter b')……z=$('#letter z')。在这种情况下,我建议您使用一个公共类来选择元素,然后在单击手柄中检索它们的id。这将不起作用-这将返回
letter a
-OP需要文本内容(而不是他所说的“值”)通过元素的
id
来选择元素有什么意义?只需检索您已经拥有的
id
?因此,他只需将“'letter.”替换为“$letter”
var a = $('#lettera').attr("id")