Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改<;李>;没有身份证_Javascript_Jquery_Html - Fatal编程技术网

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值附加到末尾。