检查文本是否已添加到Firefox控制台的元素中

时间:2013-06-11 14:22:23

标签: javascript jquery

我正在尝试将文本添加到div中,然后检查它是否随FF控制台一起添加。 我输入控制台的代码是:

jQuery('<div id="method" style="display:none">').append("jonesy" + ',');
jQuery('<div id="method">').text()

我希望得到字符串 jonesy,,但我会显示一个空字符串。我的错误在哪里?

5 个答案:

答案 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')
  • 将新创建的div附加到DOM

FIDDLE DEMO #1

您可以采取更好的方式:

// 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());

FIDDLE DEMO #2

答案 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)

我可以发现两个问题:

  1. 如果您想要feed the jQuery() function with HTM L,则需要完整的独立HTML。 <div id="method"></div>是正确的,<div id="method">不是。
    修改:刚刚测试过,您的代码似乎运行良好。

  2. 该语法创建一个新元素。如果要搜索现有元素,则需要使用CSS选择器。但是,您的元素既不附加到DOM也不保存在变量中,因此没有简单的方法可以达到它。

  3. 我想你想要这样的东西:

    var div = jQuery('<div id="method" style="display:none"></div>').append("jonesy" + ',');
    div.text();