JQuery: 通过名称选择器为第 n 个元素设置属性
JQuery: Set attribute for nth element by name selector
有一组同名的“a”标签:
<a name="link" href="http://link1">
<a name="link" href="http://link2">
<a name="link" href="http://link3">
我需要更改 href 属性 用于带有 $("['name=link']")
选择器的第三个元素,但不适用于 prop/attr 方法。
我正在尝试理解您的问题。
根据您的解释,我建议您尝试使用":eq" jQuery 选择器。代码将是这样的:
// eq takes element by index (from 0 to *) in the same 'root' of nodes in DOM structure
$("a[name='link']:eq(2)").attr('href', '__new value__');
这是此功能的官方 jQuery 文档:https://api.jquery.com/eq-selector/
工作示例:
$(document).ready(function() {
$("a[name='link']:eq(2)").attr('href', '__new value__');
// checking the href value in the console
console.log($("a[name='link']:eq(2)").attr('href'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a name="link" href="http://link1">1st link</a>
<a name="link" href="http://link2">2nd link</a>
<a name="link" href="http://link3">3rd link</a>
有一组同名的“a”标签:
<a name="link" href="http://link1">
<a name="link" href="http://link2">
<a name="link" href="http://link3">
我需要更改 href 属性 用于带有 $("['name=link']")
选择器的第三个元素,但不适用于 prop/attr 方法。
我正在尝试理解您的问题。
根据您的解释,我建议您尝试使用":eq" jQuery 选择器。代码将是这样的:
// eq takes element by index (from 0 to *) in the same 'root' of nodes in DOM structure
$("a[name='link']:eq(2)").attr('href', '__new value__');
这是此功能的官方 jQuery 文档:https://api.jquery.com/eq-selector/
工作示例:
$(document).ready(function() {
$("a[name='link']:eq(2)").attr('href', '__new value__');
// checking the href value in the console
console.log($("a[name='link']:eq(2)").attr('href'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a name="link" href="http://link1">1st link</a>
<a name="link" href="http://link2">2nd link</a>
<a name="link" href="http://link3">3rd link</a>