这可能很容易,但即使搞清楚我要从哪里开始,我也没有任何运气。 我的想法是我有一个页面,我提供jquery overop ... jquery将在表中查找链接,获取href(或者更具体地说是url的一部分,因为它们链接到同一页面上的元素)然后搜索对于名称的元素,我可以操纵它们。或者,如果你们中的任何人能够想到更好的方法。
换句话说,我希望做的是使用链接的URLS中的信息来查找元素......我希望我已经明确了......>。>
答案 0 :(得分:1)
使用.attr('href');
获取目标。
答案 1 :(得分:0)
我猜你想做点什么:
<table>
<tr><td><a href="/items/1/order">Item 1</a></td></tr>
<tr><td><a href="/items/2/order">Item 2</a></td></tr>
</table>
<script>
$('table tr').each(function () {
var id = $('a', this).attr('href').match(/^\/items\/(\d+)\/order$/)[1];
$(this).append('<td><a href="/items/'+id+'"/edit">Edit</a></td>');
});
</script>
这会在每行附加一个新的表格单元格,并带有编辑相应项目的链接。您可以使用id
执行任何操作,因此您可以执行$('#item-'+id).text('replaced!')
之类的操作。
如果您不熟悉正则表达式("/items/1/order".match(/^\/items\/(\d+)\/order$/)[1]
位),则应read up about them。
答案 2 :(得分:0)
这应该按照你指定的方式进行
$().ready(function() {
// For each link in any table
$('table a').each(function(i) {
// determine the anchors name
var name = $(this).attr('href').match(/#(.*)$/)[1];
// Select all anchors with name that matches the #<name>
// We use the selector a[name="<name>"], double quotes are
// used to protect from white space characters in links
var target = $('a[name="' + name + '"]');
// manipulate
target.html('lorem ipsum dolor sit amet');
});
});
如果您能够修改页面,而不是依赖正则表达式,则可以向包含类名称或锚点所在元素的id的链接插入其他属性。浏览器在向HTML标准中未指定的元素添加额外属性时会给您很多自由。 HTML5甚至允许它们,请参阅Custom attributes - Yea or nay?。
基本上,渲染时会忽略自定义属性,但它们仍会添加到DOM中。当它们驻留在DOM中时,您可以根据需要访问和使用它们。