17

我有一个表格,我想禁止点击链接,因为我需要其他功能的链接。

表的结构是这样的:

<table>
<tr><th>Day</th><th>Event</th>
<tr class="DAY" id="DAY_0"><td>1-8-2013</td><td><a href="?tab=tabCalendar&dayEvent=DAY_0">Add Event</a></td></tr>
<tr class="DAY" id="DAY_1"><td>2-8-2013</td><td><a href="?tab=tabCalendar&dayEvent=DAY_1">Add Event</a></td></tr>
</table

我的 jquery 代码尝试阻止刷新页面,并显示 id 是这个

<script>
  $("a").click(
      function(event) {
        event.preventDefault();
        alert('Picked: '+ event.target.id.slice(4) );
      }
    );
  </script>

我也试过以下

$(".DAY").click(function(){//to catch the class DAY.click()

乃至

$("[id^=DAY]").click(function(){//to catch the id DAY*.click

但是,这些功能都没有做任何事情。

我使用的版本是

jquery-1.9.1.js
jquery-ui-1.10.3.custom.js
4

5 回答 5

19

最简单的方法:

<script>
   $(".DAY").click(
      function(event) {
         event.preventDefault();
         alert('Picked: '+ $(this).attr('id').slice(4));
      }
   );
</script>
于 2013-08-06T12:19:24.840 回答
8

尝试将脚本放入DOM READY

<script type="text/javascript">
    $(document).ready(function(){
        $("a").on('click',function(event) {
            event.preventDefault();
            alert('Picked: '+ $(this).parent('td').parent('tr').id.slice(4) );
        });
     });
</script>
于 2013-08-06T12:05:38.547 回答
5

尝试这个:

$(document).ready(function(){

    $("a").click(
      function(event) {
        event.preventDefault();

          DATA = $(this).closest('tr').attr('id').slice(4);

        alert('Picked: ' + DATA);
      }
    );

});

这将选择您单击ID的那个。a我还将它创建为一个 jSFiddle:http: //jsfiddle.net/pAZeb/

于 2013-08-06T12:07:22.587 回答
3

您需要找到最近id的点击 tra

尝试

jQuery(function($){
    $("a").click(function(event) {
        event.preventDefault();
        alert('Picked: '+ $(this).closest('tr').attr('id').slice(4) );
    });
});
于 2013-08-06T12:05:58.143 回答
2

也许您需要修改为以下内容:

$("a").click(
function (event) {
    event.preventDefault();
    alert('Picked: ' + $(this).closest('tr').attr('id').slice(4));
});
于 2013-08-06T12:08:23.940 回答