【问题标题】:jQuery find id then do actionjQuery 查找 id 然后执行操作
【发布时间】:2014-06-20 17:23:30
【问题描述】:

我正在努力使这个小代码工作。我有一个普通的下拉菜单,我想把它变成一个下拉列表(选择)。

普通菜单附有一个“tm_active”ID,以显示您当前所在的页面。我想使用 jquery 并找到这个 id,然后在页面加载时根据您所在的页面(不是列表中的第一项)选择正确的项目。

我做错了什么? 谢谢。

$('table.topMenu tr').each(function(){
var list=$(this),
    select=$(document.createElement('select')).insertBefore($(this).hide()).change(function(){
  window.location.href=$(this).val();
});
$('>td a', this).slice(2).each(function(){
  var option=$(document.createElement('option'))
   .appendTo(select)
   .val(this.href)
   .html($(this).html());
  if($(this).attr('id') === 'tm_active'){
    option.attr('selected','selected');
  }
});
list.remove();
});

HTML

<table>
<tr>
<td class="top">
<a href="#">Section 1</a>
<div class="sub">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</td>
<td class="top" id="tm_active">
<a href="#">Section 2</a>
<div class="sub">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</td>
<td class="top">
<a href="#">Section 3</a>
<div class="sub">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</td>
</tr>
</table>

【问题讨论】:

  • 显示相关的 HTML。
  • 我认为您的表格缺少示例中的“topMenu”类

标签: javascript jquery select drop-down-menu menu


【解决方案1】:

您正在检查锚标记的 id,您应该检查父 td:

$(this).parent().attr('id') === 'tm_active'

FIDDLE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2018-12-23
    相关资源
    最近更新 更多