3

次の HTML ブロックが与えられた場合:

<div class"radioGroup">
   <input type="radio" value="0">
        This is NOT checked
   <input type="radio" value="1" checked = "checked" > 
        This is checked
   <input type="radio" value="2">
        This is NOT checked
</div>

選択したラジオボタンに続くテキストを選択するにはどうすればよいですか? (例: 「これはチェックされています」)。

(文字列などにタグを追加することはできません。別の Web ページからこのテキストを取得しようとしているため、クライアント側のスクリプトしか使用できません)

4

1 に答える 1

1

以下を使用できます。

<input ... onclick="alert(this.nextSibling.data);">

もちろん、これは DOM の構造に大きく依存します。この要素から次の要素まで、すべてのテキスト ノードのデータを連結したい場合があるため、次のような関数が必要になる場合があります。

function getTextByNodes(el) {
  var text ='';
  while (el && el.nextSibling && el.nextSibling.nodeType == 3) {
    text += el.nextSibling.data;
    el = el.nextSibling;
  }
  return text;
}

と:

<input ... onclick="alert(getTextByNodes(this));">
于 2013-06-12T23:56:17.177 に答える