我正在尝试将文本添加到div中,然后检查它是否随FF控制台一起添加。 我输入控制台的代码是:
jQuery('<div id="method" style="display:none">').append("jonesy" + ',');
jQuery('<div id="method">').text()
我希望得到字符串 jonesy,,但我会显示一个空字符串。我的错误在哪里?
答案 0 :(得分:6)
您的语法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
答案 1 :(得分:3)
应该是这样的:
jQuery('<div id="method" style="display:none">jonesy,</div>').appendTo('body');
jQuery('#method').text();
jQuery('<div id="method" style="display:none">jonesy,</div>')
创建dyanmic 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());
答案 2 :(得分:1)
你的选择器有点偏离了我的朋友:
jQuery("div#method").append("jonesy" + ",");
console.log(jQuery("#method").text());
答案 3 :(得分:1)
有两个问题。首先,这里的每个jQuery调用都是创建一个单独的div。
要引用先前创建的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()
答案 4 :(得分:1)
我可以发现两个问题:
如果您想要feed the
jQuery()
function with HTM L,则需要完整的独立HTML。 <div id="method"></div>
是正确的,<div id="method">
不是。
修改:刚刚测试过,您的代码似乎运行良好。
该语法创建一个新元素。如果要搜索现有元素,则需要使用CSS选择器。但是,您的元素既不附加到DOM也不保存在变量中,因此没有简单的方法可以达到它。
我想你想要这样的东西:
var div = jQuery('<div id="method" style="display:none"></div>').append("jonesy" + ',');
div.text();