ページを読み込んでソースを見ると、上記のリストに示されている名前と ID を持つ要素が表示されます。ただし、それらには data-point-value 属性が設定されていません。prop と attr の両方を使用してみましたが、どちらも属性を HTML に追加していません。
attr
data-*
要素に属性を設定するために使用するのは正しいものでした。
「ソースの表示」などを使用して要素を表示している場合、クライアント側で行っている変更は表示されません。「ソースの表示」は、サーバーから配信されたページのソースを表示します (実際には、サーバーに戻ってページを再取得することがよくあります)。「ソースを表示」では、DOM の現在の状態は表示されません。ブラウザのライブDOM ビューアを使用する必要があります。Chrome、FireBug、および IE の Dev Tools では、これは通常「DOM」タブなどです。
attr
コードで使用する場合:
$(document).ready(function(e) {
$.each({
"bmsw": 4, "dp": 1, "jmsw": 2, "mhsw": 4, "mp": 5,
"pr": 10, "prrv": 3, "sh": 2, "st": 10, "sw": 2,
"swrv": 1, "ud": 1
}, function(key, value) {
$('#' + key).attr('data-point-value', value);
});
});
次に、 を持つ要素は value を持つ属性をid
"bmsw"
取得し、 を持つ要素は value を取得します。data-point-value
"4"
id
"dp"
"1"
無償の完全な例:ライブ コピー| ライブソース
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>Setting Data Attributes</title>
<style>
span {
border: 1px solid grey;
padding: 0 2px;
cursor: pointer;
}
</style>
</head>
<body>
<p>Each of the below is an element with an <code>id</code> matching its text. Click the element to see the value of its <code>data-point-value</code> attribute.</p>
<p>
<span id="bmsw">bmsw</span>
<span id="dp">dp</span>
<span id="jmsw">jmsw</span>
<span id="mhsw">mhsw</span>
<span id="mp">mp</span>
<span id="pr">pr</span>
<span id="prrv">prrv</span>
<span id="sh">sh</span>
<span id="st">st</span>
<span id="sw">sw</span>
<span id="swrv">swrv</span>
<span id="ud">ud</span>
</p>
<p id="output"></p>
<script>
(function() {
$(document).ready(function(e) {
$.each({
"bmsw": 4, "dp": 1, "jmsw": 2, "mhsw": 4, "mp": 5,
"pr": 10, "prrv": 3, "sh": 2, "st": 10, "sw": 2,
"swrv": 1, "ud": 1
}, function(key, value) {
$('#' + key).attr('data-point-value', value);
});
});
$(document).on("click", "span", function() {
var value = $(this).attr("data-point-value");
$("#output").html(
"The value of <code>" +
this.id +
"</code>'s <code>data-point-value</code> is <code>" +
value +
"</code>"
);
});
})();
</script>
</body>
</html>