3

変更する必要がありますtext to change。jQueryでどのようにそれを行うことができますか?

<form name="loginform" id="loginform" action="" method="post">
    <p>
        <label for="user_login">text to change<br />
        <input type="text" name="log" value="" /></label>
    </p>
</form>
4

5 に答える 5

3
$("label[for='user_login']").text("New text");

参照: Attribute Equals Selector [name="value"]


少し違うのですが、次のようなものです。

var splitElem = "<br>";
var saveHtml = $("label[for='user_login']").html().split(splitElem)[1];
var newText = "New Text"
var newHtml = newText + splitElem + saveHtml;
$("label[for='user_login']").html(newHtml);
于 2012-08-10T22:03:22.257 に答える
2

テキストノードのみを置き換えるには:

var newText = 'some text',
    elm = $('label[for="user_login"]').children();
    $('label[for="user_login"]').html(newText).append(elm);

フィドル

于 2012-08-10T22:11:36.413 に答える
2

これを試してください:

var newText = 'some text';
$('label[for="user_login"]').contents().filter(function() { return this.nodeType == 3; }).first().replaceWith(newText);​

フィドル

ただし、これのパフォーマンスについては保証しません:)が、それ以外の場合はそうする必要があります。

于 2012-08-10T22:19:49.050 に答える
0

spanテキストをタグでラップします。

<label for="user_login"><span>text to change<span><br />
<input type="text" name="log" value="" /></label>

$("label[for=user_login] > span").text("replaced text");
于 2012-08-10T22:11:20.643 に答える
0

HTMLではテキストを選択してアプローチすることができないため、良い解決策があります。周囲のタグにのみ影響を与えることができます。

今あなたにはいくつかの可能性があります。

  • 入力タグの前のラベルを閉じて、穴ラベルの内容を変更します
  • ラベルのテキストをスパンなどの別のタグでラップし、スパンに影響を与えます
  • HTML構造を変更せず、JSを使用してラベルのコンテンツを取得し、以前に正規表現でフィルタリングされた空白のテキストを置き換えます
  • JSで入力要素を保存し、ラベルの穴の内容を置き換えてから、入力要素を再度追加します
于 2012-08-10T22:11:43.040 に答える