0

ネストされていないテキストのみを選択する機能をボタンでトリガーしようとしています。たとえば、次のコードでは:

<a class="button">Hey<span>123</span></a>   <!-- alerts "Hey" -->
<a class="button">Hi<span>123</span></a>    <!-- alerts "Hi" -->
<a class="button">Hello<span>123</span></a> <!-- alerts "Hello" -->

各リンクは、 内にないテキストを警告する関数を呼び出します<span>。たとえば、最初のリンクは "Hey"、2 番目の "Hi"、3 番目の "Hello" を警告する関数をトリガーします (上記のコメントに示されています)。

当然、私は次のコードを持っていますが、<span>s (または外側のアンカー要素内にある可能性のある他の要素) 内のテキストを検閲する方法がわかりません。

$("div.sideBox").on("click", ".button", Handler);

function Handler(event) {
    alert($(this).html());
}
4

2 に答える 2

1

.buttonクラスをアンカータグに配置すれば、これは機能するはずです

<a class="button">Hey<span>123</span></a>
<a class="button">Hi<span>123</span></a> 
<a class="button">Hello<span>123</span></a>

さらに、javascript DOM 要素プロパティfirstChildを使用して、テキスト ノードnodeValueを取得し、その値を取得して、子span要素のテキストを無視します。

function Handler(event) {
    alert(this.firstChild.nodeValue);
}

デモ

于 2013-06-30T05:49:22.763 に答える
0

提供された HTML から始めます。まず<grey>、有効な HTML タグではないため、タグを削除します。<span>出力したい値の周りにタグを付けます。これにより、JavaScript で簡単にアクセスできるようになります。

HTML:

<a class="stag"><span>Hey</span>123></a>
<a class="stag"><span>Hi</span>123</a> 
<a class="stag"><span>Hello</span>123</a>

次に、この JavaScript を使用してこれらの値を返します (例のように JQuery を使用):

$("a.stag").click(function() {
    alert($(this).first("span").text());
});
于 2013-06-30T05:52:49.020 に答える