5

I've set up a test so I can begin using jQuery in a cakePHP environment but I'm having a problem before I've even started.

I have twitter bootstrap also but when I had this problem I turned everything off to make sure it wasn't that. It wasn't.

I'm testing this in Chrome & Waterfox.

When I tried to $('#test').html('Hello'); I didn't get anything. So I tried alerting something out using the following:

$(document).ready(function() {

    $('#test').click(function() {
        alert($('#test').text);
    });
});

and

<span id="test">test span</span>

Which gives me the result:

function (a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)}

Could someone please tell me what the hell that is please and why didn't I get 'test span'. Thank you :)

4

8 に答える 8

10

「テキスト」は関数であり、そのコードを出力しています

他の関数と同じように呼び出すだけです

alert($('#test').text());
于 2012-06-21T13:43:37.917 に答える
5

jQuery.text()は関数であり、プロパティではありません。使用方法は次のとおりです。

var a = $('#test').text(); // getter
$('#test').text(a);        // setter

注:jQuery.html()HTMLのフラグメントを挿入する場合は、の使用を検討してください。

于 2012-06-21T13:45:33.480 に答える
1

テキストは関数であり、その上に括弧が必要です

.text()

于 2012-06-21T13:43:56.413 に答える
1

text()jQueryメソッドです。つまり、次のようにする必要がありますtext()

alert($('#test').text());
于 2012-06-21T13:44:01.723 に答える
0

.text()テキストのみを提供します。元、

alert($('#test').text());
于 2012-06-21T13:44:12.020 に答える
0

alert関数の引数がである場合、のメソッド(Doc)をan object使用して文字列に変換されるため、これを取得しています。この場合、アラート関数に渡しています。.toString()objectfunction object

MDNからの引用

window.alert(メッセージ);

メッセージは、アラートダイアログに表示するテキストの文字列です。または、文字列に変換されて表示されるオブジェクトです。

次のコードを端末に貼り付けることで確認できます

alert($.fn.text.toString())

現在取得しているものと同じ出力が得られます。

.toString()が関数オブジェクトに呼び出されると、その定義が返されるためです。に関数名を追加して、他の関数と同じように関数を呼び出す必要があります()

だから他のすべての人がすでに言っているようにあなたはそれを次のように呼ぶ必要がありますalert($('#test').text());

于 2012-06-21T14:00:30.947 に答える
0

ブロックにテキストを割り当てるには、次を使用する必要があります。

$('#test').text("Hello");

これは、フォーム入力またはスクリプトでは機能しないことに注意してください。実際のテキスト要素でのみ機能します。入力を行うには:

$('#test').val("Hello");
于 2012-06-21T13:46:45.630 に答える
0

「text()」などの「text」関数を呼び出すには、括弧を追加する必要があります。それ以外の場合は、標準の JavaScript の動作に従って、関数自体のコード コンテンツが代わりに出力されます。

これは、関数がどのようにまとめられているかをすばやく確認したい場合に非常に便利です。

于 2012-06-21T13:46:55.467 に答える