我什至无法让 $().text 正常工作.改为输出大量代码

I can't even get $().text to work properly. Outputs a massive string of code instead

本文关键字:工作 代码 输出 常工作 text      更新时间:2023-09-26

我已经设置了一个测试,所以我可以在cakePHP环境中开始使用jQuery,但是在我开始之前我遇到了问题。

也有推特引导程序,但是当我遇到这个问题时,我关闭了所有内容以确保不是那样。其实不然。

我正在Chrome和Waterfox中对此进行测试。

当我试图$('#test').html('Hello');时,我什么也没得到。所以我尝试使用以下方法发出警报:

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

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

这给了我结果:

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)}

有人可以告诉我这到底是什么,为什么我没有得到"测试跨度"。谢谢:)

'text' 是一个函数,你输出

的代码

就像调用任何函数一样

alert($('#test').text());

jQuery.text()是一个函数,而不是一个属性。以下是您的使用方式:

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

注意:如果您计划注入 HTML 片段,请考虑使用 jQuery.html()

文本是一个函数,应该有参数

.text()

text()是一个

jQuery方法;这意味着它需要text()

alert($('#test').text());

要将一些文本分配给块,您需要使用:

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

请记住,这不适用于表单输入或脚本。它仅适用于实际的文本元素。要执行输入使用:

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

您需要添加括号来调用"text"函数,例如"text()"。否则,根据标准的 JavaScript 行为,函数本身的代码内容将改为输出。

如果您想要一种快速查看函数是如何组合在一起的,这会非常方便。

你得到它是因为如果alert函数的参数是an object那么它使用object的方法(Doc)转换为字符串.toString()在这种情况下,你传递了一个function object警报函数。

引用自MDN

窗口警报(消息);

消息是要显示的文本字符串 或者,转换为字符串并显示的对象。

您可以通过将以下代码粘贴到终端中来检查这一点

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

您将获得与现在相同的输出。

因为当.toString()被调用到函数对象中时,会返回它的定义。您需要像调用任何其他函数一样调用该函数,方法是在()后附加函数名称。

所以就像所有其他人已经说过的那样,你必须像alert($('#test').text());一样称呼它

.text()只会给出文本。 例如,

alert($('#test').text());