Javascript 更改<;李>;没有身份证
我有一个没有Javascript 更改<;李>;没有身份证,javascript,jquery,html,Javascript,Jquery,Html,我有一个没有id的下拉列表-我试图通过JavaScript或jQuery更改li中嵌套的a的href值。这是标记: <ul class="dropdown-menu" aria-labelledby="user_info_dropdown" role="menu"> <li> <a href="myLink.com?id=12431312sdfs2143123"></a> </li> </ul>
id
的下拉列表-我试图通过JavaScript
或jQuery
更改li
中嵌套的a
的href值。这是标记:
<ul class="dropdown-menu" aria-labelledby="user_info_dropdown" role="menu">
<li>
<a href="myLink.com?id=12431312sdfs2143123"></a>
</li>
</ul>
-
我想将锚定标记中的链接更改为myLink.com?id=124312sdfs2143123&另一个值
实现这一点的最佳方法是什么?有多种方法可以针对此元素 使用父级 由于您的元素是列表中的唯一元素,您可以使用它的目标来解析它:
// This should find it and replace it
$('.dropdown-menu ul li:first a').attr('href','...');
使用属性
如果您确切知道需要替换的特定值是什么(即href
属性),则可以使用jQuery的属性选择器查找具有适当内容的元素并进行更新:
// Find a link with a specific URL and update it
$('a[href="myLink.com?id=12431312sdfs2143123"]').attr('href','...');
更宽的笔划
如果您不知道所针对的确切href
值,可以采用更通用的方法。也就是说,替换任何以“myLink.com?”开头的
标记,并附加查询字符串值:
$('a[href^="myLink.com?"]').each(function(){
$(this).attr('href',$(this).attr('href') + '&anotherValue';
});
有多种方法可以针对此元素 使用父级 由于您的元素是列表中的唯一元素,您可以使用它的目标来解析它:
// This should find it and replace it
$('.dropdown-menu ul li:first a').attr('href','...');
使用属性
如果您确切知道需要替换的特定值是什么(即href
属性),则可以使用jQuery的属性选择器查找具有适当内容的元素并进行更新:
// Find a link with a specific URL and update it
$('a[href="myLink.com?id=12431312sdfs2143123"]').attr('href','...');
更宽的笔划
如果您不知道所针对的确切href
值,可以采用更通用的方法。也就是说,替换任何以“myLink.com?”开头的
标记,并附加查询字符串值:
$('a[href^="myLink.com?"]').each(function(){
$(this).attr('href',$(this).attr('href') + '&anotherValue';
});
$('.dropdown menu li a')应该指向您的a giving,您没有在其他地方使用该类?谁说您需要ID来选择元素?$('.dropdown menu li a'))是否应该指向一个在其他地方没有使用该类的给定?谁说您需要一个ID来选择元素?如果我只想将另一个值文本附加到url的末尾,该选项会是什么样子?知道id是唯一的,并且会随着每个用户的变化而变化吗?但是锚文本是固定的,所以可以使用它吗?实际上,您可以通过jQuery的选择器使用锚文本中的文本作为目标。例如,如果您知道
标记的文本是“Foo”,那么只需通过$('a:contains(“Foo”)).attr('href','…')
将其作为目标。否则,可以使用类似于第三个选项的以选择器开头的选项。那么我是否可以将其附加到现有的url?因为我不会每次都知道url,也不需要从url中删除任何内容,只需要添加到末尾…正确。您可以使用contains()
或以选择器开始(如第三个示例所示)以一个或多个元素为目标,然后通过attr()
函数将新的querystring值附加到末尾。如果我只想将另一个值文本附加到url的末尾,该选项会是什么样子?知道id是唯一的,并且会随着每个用户的变化而变化吗?但是锚文本是固定的,所以可以使用它吗?实际上,您可以通过jQuery的选择器使用锚文本中的文本作为目标。例如,如果您知道
标记的文本是“Foo”,那么只需通过$('a:contains(“Foo”)).attr('href','…')
将其作为目标。否则,可以使用类似于第三个选项的以选择器开头的选项。那么我是否可以将其附加到现有的url?因为我不会每次都知道url,也不需要从url中删除任何内容,只需要添加到末尾…正确。您可以使用contains()
或以选择器开头(如第三个示例所示)以一个或多个元素为目标,然后通过attr()
函数简单地将新的querystring值附加到末尾。