0

example.html 包含:

<a href="mypage.html" data-str="foo">Test</a>

是否可以访问data-strinside的值mypage.html

4

3 回答 3

2

不,这些值是 example.html 上 html 的一部分。

您必须将其作为查询字符串传递才能访问此值。

于 2012-11-08T17:40:44.273 回答
0

如果您想拥有一个动态数据属性,但保持引用 url 相同,您可以执行以下操作:

html

<a href="mypage.html" data-str="foo" class="data-to-query">Test</a>

jQuery

$('.data-to-query').click(function(){
  window.open($(this).attr('href') + '?str=' + $(this).data('str'),'_self');
  return false;
});
于 2012-11-08T17:48:10.437 回答
0

这是不可能的,正如@Kami 所写......

这些值是 example.html 上 html 的一部分

那是绝对正确的,现在我认为您有两种选择来实现您所需要的...

1.使用querystring

2.存储data-str在一个cookie(在客户端使用创建jQuery)以在您的其他页面中使用它site


我更喜欢选项2,这个例子会帮助你......


使用 cookie...

使用这个插件:jquery.cookie

https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js

data-str从...创建一个 cookie

//get data attribute
var str = $('.data-to-query').data('str');
//create a cookie called 'data-str' with 'str' variable value
$.cookie('data-str', str);

然后在其他html页面中使用以下方法获取 cookie:

var str = $.cookie('data-str');

//then you can do other things like this...
if(str != null) {
  //do something when cookie value is defined
}

而且,如果您想删除 cookie,只需在html您所在的任何页面上执行此操作:

$.cookie('data-str', null);

只是要知道,很明显该jquery.cookie插件也jQuery必须在您的所有html页面中导入。


就这样。希望这可以帮助 :-)

于 2012-11-08T17:44:17.947 回答