我正在尝试将文本添加到 div,然后检查是否使用 FF 控制台添加了文本。我在控制台中输入的代码是:
jQuery('<div id="method" style="display:none">').append("jonesy" + ',');
jQuery('<div id="method">').text()
我希望得到字符串jonesy,返回,但我得到一个空字符串。我的错误在哪里?
我正在尝试将文本添加到 div,然后检查是否使用 FF 控制台添加了文本。我在控制台中输入的代码是:
jQuery('<div id="method" style="display:none">').append("jonesy" + ',');
jQuery('<div id="method">').text()
我希望得到字符串jonesy,返回,但我得到一个空字符串。我的错误在哪里?
您的语法jQuery('<div id="method">')
每次都创建一个新的 DIV。只有第一个添加了文本。
你想要的可能是这样的;
var myDiv = jQuery('<div id="method" style="display:none">'); // save the div in a var
myDiv.append("jonesy" + ','); // append to it
myDiv.text(); // read from the same DIV
它应该是这样的:
jQuery('<div id="method" style="display:none">jonesy,</div>').appendTo('body');
jQuery('#method').text();
jQuery('<div id="method" style="display:none">jonesy,</div>')
。.appendTo('body')
你可以用更好的方式做,比如:
// Create a new dynamic div
var $div = jQuery('<div/>', {
id: 'method',
style: 'display:none',
text: 'jonesy,'
});
// Append the new div to the DOM
$div.appendTo('body');
// Check the console for the text
console.log(jQuery("#method").text());
有两个问题。首先,这里的每个 jQuery 调用都创建了一个单独的 div。
要引用以前创建的 div,请通过选择器引用它,不要创建新的:
jQuery('<div id="method" style="display:none">').text("jonesy" + ',');
jQuery('#method').text()
但这也不会真正起作用,因为 div 从未添加到文档中。第二行在文档中查找匹配项。
尝试:
jQuery('<div id="method" style="display:none">').
text("jonesy" + ',').
appendTo($(document.body));
jQuery('#method').text()
我可以发现两个问题:
如果你想用 HTM L 提供函数,
jQuery()
它需要是完整的独立 HTML。<div id="method"></div>
是正确的,<div id="method">
不是。
编辑:刚刚测试,你的代码似乎工作正常。
该语法创建了一个新元素。如果要搜索现有元素,则需要使用 CSS 选择器。但是,您的元素既没有附加到 DOM,也没有保存在变量中,因此没有简单的方法可以访问它。
我想你想要这样的东西:
var div = jQuery('<div id="method" style="display:none"></div>').append("jonesy" + ',');
div.text();
你的选择器有点偏离我的朋友:
jQuery("div#method").append("jonesy" + ",");
console.log(jQuery("#method").text());