如何将自定义属性添加到并在JavaScript中读取? [重复]

时间:2021-11-18 07:29:09

This question already has an answer here:

这个问题在这里已有答案:

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这样容易识别的东西作为属性的名称,以避免冲突并使它们更易于在代码中注意到