7
4

3 に答える 3

14

HTMLアンカー要素「a」の「ハッシュ」属性を設定します

<a>要素(HTMLLinkElement)には、すでにDOMレベル0のhashプロパティがあります。これは、window.location.hashのように使用され、要素のによって参照されるURLの最後にある「...#anchor」の部分を読み取ったり設定したりしますhref

a.hash直接またはjQueryのattr()ラッパーを介して設定すると、リンクのURLにアンカー名が設定されるだけです。DOMメソッドを呼び出すことで、実際の属性が必要であると意図的に言うことができa.setAttribute('hash', value)ます。ただし、属性とプロパティを混乱させる長年のバグのため、IE6/7では機能しません。

これは、カスタムの非標準属性を要素に追加する際の問題の1つであり、既存の名前といつ衝突するかはわかりません。HTML5では、カスタム属性を「data-」で始まる名前に制限することをお勧めしますが、一般的には、可能であればデータを保存する別の方法を見つけるのが最善です。

于 2009-02-11T02:44:34.820 に答える
6

おそらくあなたの問題は、タグhashの属性がないことです。<a>属性を探しているname場合や、リンク内のハッシュを変更したいhref場合は、リンクテキストを解析し、正規表現を使用してハッシュを置き換える必要があります。

于 2009-02-11T02:01:40.913 に答える
0

ハッシュを設定するための別のオプション。これは、式が要素を返す場合にのみ機能します。これは、ハッシュが実際のdom要素のプロパティであるためです。

$(expr).each(function() {
  this.hash = value;
});

タグがこれを使用しているかどうかをテストする必要がある場合

$(expr).is('a').each(function() {
  this.hash = value;
});

実際にカスタム属性を追加したい場合は、dataメソッドを使用して値を追加することをお勧めします

$(expr).data('myHash', value);
于 2009-02-11T02:53:12.583 に答える