引用被点击的锚标记:我做错了什么?

时间:2015-07-21 19:32:03

标签: javascript jquery html javascript-events event-handling

我一直在

  

"无法阅读财产'拆分'未定义"

,向我表明以下代码中的$(this)未定义。那是为什么?

HTML:

<tbody>
   <tr>
      <td><a class='edit-link' id='jobid-3'>Motion Designer</a></td>
      <td>2015-07-21 11:06:57</td>
   </tr>
   <tr>
      <td><a class='edit-link' id='jobid-2'>Web Developer</a></td>
      <td>2015-07-21 09:53:36</td>
   </tr>
   <tr>
      <td><a class='edit-link' id='jobid-1'>Creative Team Manager</a></td>
      <td>2015-07-21 09:41:20</td>
   </tr>
</tbody>

JS:

<script type="text/javascript">
    jQuery('.edit-link').click(function() {
    {
        var thisJobId = jQuery(this).attr('id').split('-')[1];
        console.log("thisJobId = " + thisJobId); // test
    });
<script>

4 个答案:

答案 0 :(得分:0)

您的代码示例中没有事件绑定。

所以像这样使用

$name

答案 1 :(得分:0)

工作代码:

将单击处理程序附加到类:

&#13;
&#13;
enum TempScale {
   CELSIUM,
   KELVIN,
   FARENHEIT
};

struct TempSensorType {
   short id;
   float temp;
   float hum;
   TempScale scale;
};
#pragma keylist TempSensorType id
&#13;
$('.edit-link').click(function(){
   
        var thisJobId = jQuery(this).attr('id').split('-')[1];
        console.log("thisJobId = " + thisJobId); // test
    });
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您需要添加click事件属性:

jQuery('.edit-link').click(function(){
    var thisJobId = jQuery(this).attr('id').split('-')[1];
    console.log("thisJobId = " + thisJobId); // test
});

答案 3 :(得分:0)

您需要修改javascript:

$('.edit-link').click(function(event) {
    var thisJobId = event.target.id.split('-')[1];
    console.log("thisJobId = " + thisJobId);
});

上面的函数在单击元素时执行。在事件对象内部有target属性,其中包含被单击的DOM元素。我正在检索它的id并只返回你需要的部分。

fiddle