This question already has an answer here:
这个问题在这里已有答案:
- Custom attributes - Yea or nay? 14 answers
- 自定义属性 - 是或不是? 14个答案
I want to have a jQuery/PHP site that uses <span>
elements for the navigation links. I need to have a value
attribute to use
我想有一个jQuery / PHP站点,它使用元素作为导航链接。我需要使用value属性
$(".navLink").click(function() {
window.location.href = "/index.php?page=" + this.value //or whatever
});
I can't use this.id
because it conflicts with other HTML elements. Is there any way to create and use a "dummy" HTML attribute?
我不能使用this.id,因为它与其他HTML元素冲突。有没有办法创建和使用“虚拟”HTML属性?
3 个解决方案
#1
6
Use a data-* attribute. Something like data-href would be good. jQuery gives you a nice interface for reading the values.
使用data- *属性。像data-href这样的东西会很好。 jQuery为您提供了一个很好的界面来读取值。
this.data('href')
will read the value of
将读取的价值
data-href="some.value"
See http://api.jquery.com/jquery.data/ for more.
有关更多信息,请访问http://api.jquery.com/jquery.data/。
#2
3
You can use data-
. So in your HTML, you'd define it like:
您可以使用数据。因此,在HTML中,您可以将其定义为:
<span class="navLink" data-link="google.com">click me</span>
And then via jQuery you just do:
然后通过jQuery你只需:
window.location.href = "/index.php?page=" + $(this).data("link");
#3
1
pure js:
纯粹的js:
el.setAttribute('value', the-value);
jquery:
jQuery的:
$(el).attr('value', the-value);
but better make something easily recognisable like my-value
as a name of your attributes, to avoid conflicts and make them easier to notice in the code
但是最好将像my-value这样容易识别的东西作为属性的名称,以避免冲突并使它们更易于在代码中注意到
#1
6
Use a data-* attribute. Something like data-href would be good. jQuery gives you a nice interface for reading the values.
使用data- *属性。像data-href这样的东西会很好。 jQuery为您提供了一个很好的界面来读取值。
this.data('href')
will read the value of
将读取的价值
data-href="some.value"
See http://api.jquery.com/jquery.data/ for more.
有关更多信息,请访问http://api.jquery.com/jquery.data/。
#2
3
You can use data-
. So in your HTML, you'd define it like:
您可以使用数据。因此,在HTML中,您可以将其定义为:
<span class="navLink" data-link="google.com">click me</span>
And then via jQuery you just do:
然后通过jQuery你只需:
window.location.href = "/index.php?page=" + $(this).data("link");
#3
1
pure js:
纯粹的js:
el.setAttribute('value', the-value);
jquery:
jQuery的:
$(el).attr('value', the-value);
but better make something easily recognisable like my-value
as a name of your attributes, to avoid conflicts and make them easier to notice in the code
但是最好将像my-value这样容易识别的东西作为属性的名称,以避免冲突并使它们更易于在代码中注意到