2017-04-13 21 views
1

當我試圖獲取id的值時,它返回0;我想要一個」。 由於事先在jquery中查找id的值

<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> 

回答

1

你創建出現單元是一個li,並li沒有value屬性。大概你正在尋找的元素的文本,所以使用text()代替:

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

謝謝,但如何動態地更改ID?如果我想對$('#lettera')做同樣的操作以$('#letterz')怎麼做? – Ajay

+0

那麼,你真的不應該像'id'在整個頁面生命週期中應該是一樣的。如果你真的必須這樣做,你可以使用'attr()','$(this).attr('id','foo')的setter,' –

+0

我的案例id是動態的。我有26個字母屬於id = $('#lettera'),b = $('#letterb')...... z = $('#letterz') – Ajay

0

更換

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

var a = $('#lettera').attr("id") 
+0

這不起作用 - 這將返回「lettera」 - OP想要文本內容(而不是他說的「值」) –

+1

通過'id'選擇元素有什麼意義,只是爲了檢索你已經擁有的'id'? –

+0

所以他需要的是用「$ letter」替換「'letter'。$ letter」 – diavolic