【问题标题】:how can i access td class via jQuery?如何通过 jQuery 访问 td 类?
【发布时间】:2011-08-19 16:05:27
【问题描述】:

如何通过 jquery 访问我的 td 类 这是HTML代码

<td class="selectable" id="shoes-<?= $color->id ?>" ></td>

  <td><a href="?shoes=<?php  echo $color->id; ?>" title="Select"
     <?php if($shoes==$order->shoes){ ?> class="selected"<?php } ?>>

这里是 jQuery 代码

$('td.selectable a').click(function() {


    var $parent = $(this).parent();
    var data = $parent.attr('id').split('-');
    var type = data[0];
    var typeId = data[1];

如果我提醒(类型);我什么也没收到 你能帮忙吗

现在我已经解决了,但第二部分仍然存在问题 我正在尝试切换我的课程,它应该在单击链接时显示这里是 html 代码

<td class="selectable" id="person-<?= $person->id ?>">
     <a href="?person=<?php  echo $person->id; ?>" title="Selecteren"
 if($person==$order->person){ ?> class="selected"<?php } ?>><?php echo $person->name;?></a></td>

它适用于 span 类和 div 类,但 class=selected 不起作用

$('#personAmount td.selectable  a').click(function() {
       var $parent = $(this).parent()
        var data = $parent.attr('id').split('-');
        var type = data[0];
        var typeId = data[1];


switch(type){
            case 'person':
            $(this).prepend('<a class="selected"></a>');

            break;
            case 'color':
            $(this).prepend('<div class="checked"></div>');

            break;
            default:
            $parent.prepend('<span class="checked"></span>');

        }

【问题讨论】:

标签: javascript jquery class


【解决方案1】:
$(this).parent().prev();

你有这样的层次结构:

<td class="selectable"></td>
<td>
    <a>

【讨论】:

    【解决方案2】:

    在您的代码中,包含&lt;a&gt;&lt;td&gt; 没有idclass 属性。 click 事件不会绑定到 &lt;a&gt;

    【讨论】:

    • 我认为问题在于&lt;td&gt;class="selectable" 不包含&lt;a&gt;
    • 你说得对,我明白了,现在它可以工作了,谢谢,但我的类型包括一个开关功能它没有显示在这里是代码
    • 你说得对,我现在明白了,谢谢,但我的类型包括一个开关功能,我也得到了 div 类和 span 类,但只有在人它没有出现在这里的情况下是代码switch(type){ case 'person': $parent.prepend('');休息; case 'color': $(this).prepend('
      ');休息;默认值:$parent.prepend(''); }
    • 请编辑您的问题并将您之前评论的代码放在那里。在这里很难阅读。
    • @Mary 请编辑你的问题,而不是这个答案。向上滚动并点击原始帖子下的“编辑”。
    【解决方案3】:
    $('td a').click(function(e) {
        var id = $(this).closest('tr').find('.selectable').attr('id');
        var d = id.split('-');
        var item_type = d[0];
        var type_id = d[1];
        alert(type_id);
        alert(item_type);
    });
    

    working demo

    【讨论】:

    • @mary 这不是你想要的吗?
    【解决方案4】:

    使用您当前的 HTML:

    Live Demo

    $('td.selectable + td a').click(function() {
        var $parent = $(this).parent().prev();
        var data = $parent.attr('id').split('-');
        var type = data[0];
        var typeId = data[1];
        alert(type);
    });
    

    【讨论】:

    • 看我对 li $(li.selectable a).click(function) 有相同的结构,为什么不使用我不知道的表
    • color){?>
  • @mary:正如其他人所说,您的&lt;a&gt; 元素不在您的&lt;td class="selectable"&gt; 元素中。
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签