JQuery-根据<A>标签
JQuery - Perform matching based on text inside <A> Tags
我看过;Jquery从文本中提取URLjquery match()变量插值-复杂正则表达式但我还是有点迷路了。
问题;我有一个页面,顶部有一个下拉菜单,下拉菜单中有一个项目的名称,我可以点击它来查看该项目。项目的URL与名称无关,它是一个唯一的ID。
下拉列表的示例代码;
<div class="innerMenuWrapper">
<li class="hasSubMenu sfhover">
<a href="javascript:void(0);" tabindex="-1" class="menuItemLink">Items</a>
<span class="splIcon splIcon-triangle-4-e dropDown">Submenu</span>
<div class="outerMenuWrapper splShadow" style="left: 160px; display: none; ">
<ul>
<div class="innerMenuWrapper">
<li class="">
<a href="/en-US/app/Items/itemahdwhidwbow" tabindex="-1"
class="menuItemLink">item.one</a>
</li>
<li class="">
<a href="/en-US/app/Items/itemfhfaogsgs" tabindex="-1"
class="menuItemLink">item.two</a>
</li></div></ul></div></li></div>
这一切都是在外部生成的,并由实际的web服务本身进行管理。页面本身是一个由数据集生成的表。我生成的数据没有问题,演示也很好。我想做的是从上面的HREF中提取URL,并将同一项包装在主页面的表中。
例如,我有一个由3列组成的表,项目、项目内容、项目价格等。我想用上面的关联URL包装每个项目。
以item.one为例,这是它在下拉列表中的名称,URL为/en-US/app/Items/itemahdwhidwbow
。在数据本身内部,我有这样的代码来选择表的每个第一个单元格,并用链接(较大代码集的一部分)包装内容;
if (tr.find("td:nth-child(1)")) {
tr.find("td:nth-child(1)").wrapInner(function() {
var link = $('<a/>');
link.attr('href', 'US/app/Items/itemahdwhidwbow');
link.text($(this));
return link;
});
}
显然,目前URL是静态的。我真正需要的是一种从同一页面的下拉列表中的相关链接中提取URL的方法。第一个表格单元格中的名称将始终与下拉列表中的名称匹配,有没有简单的方法可以让我做到这一点?到目前为止,我所读到的内容指向regex的使用,但在本例中,我正在寻找代码中某一部分的内容,以匹配页面下方的内容。
编辑:
例如,item.one有文本"item.one"。"item.oone"也在表中,我希望表中的"item.one"具有与下拉列表中相同的链接。如果我能找到锚内的文本,那么我就可以与表中的文本进行匹配
我不清楚您的表布局结构,但我可以给您一个大致的想法:
$('a.menuItemLink').each(function(index, linkEl){ //Iterate over dropdown links
var $link=$(linkEl);
tr.find("td:nth-child("+ index +")") //Lets say here we get required cell by index
.wrapInner(
$('<a/>').attr('href', $link.attr('href'))
);
});
相关文章:
- 在<页眉>标签
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- </脚本>标签放错地方了
- Jquery在点击<a>标签
- Ionic V1.3-标签-带条件的徽章样式<离子选项卡>
- <选择>标签不起作用
- 如何在<嵌入>标签在Plone 4.1中
- 在<script src=“"></脚本>标签
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 如何在更新面板内部调用/触发javascript函数<触发器>标签
- react-让一个元素返回两个相邻的<tr>标签
- <h1>标签在离子含量元素中不可见
- VS代码:在<脚本>标签
- 在</表单>标签
- Meteor.js:<脚本>标签不't在<身体>
- 替换<标签>,包含的表单控件除外
- 使用jQuery加载基于<标签>目录
- 可以't在<标签>标签
- 更改只有<标签>标记在<李>
- 点击<标签>在Mobile Safari中