example.htmlに含まれるもの:
<a href="mypage.html" data-str="foo">Test</a>
data-str
内部の値にアクセスすることは可能mypage.html
ですか?
example.htmlに含まれるもの:
<a href="mypage.html" data-str="foo">Test</a>
data-str
内部の値にアクセスすることは可能mypage.html
ですか?
いいえ、値はexample.htmlのhtmlの一部です。
この値にアクセスするには、クエリ文字列としてパススルーする必要があります。
@Kamiが書いたように、それは不可能です...
値はexample.htmlのhtmlの一部です
それは絶対に正しいです、そして今私はあなたがあなたが必要とするものを達成するために2つの選択肢があると思います...
1.使用するquerystring
2.を他のページで使用するために(を使用してクライアント側で作成された)に保存data-str
しcookie
ます。jQuery
site
私はオプション2を好みます、そしてこの例はあなたを助けます...
このプラグインを使用してください:jquery.cookie
https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js
からCookieを作成しますdata-str
...
//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
それで全部です。お役に立てれば :-)
動的データ属性が必要であるが、参照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;
});