使用Firefox控制台检查是否向元素添加了文本

Check if text was added to an element with the Firefox console

本文关键字:元素 添加 文本 是否 Firefox 控制台 检查 使用      更新时间:2023-09-26

我正试图将文本添加到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>')创建动态div
  • 添加新创建的div到DOM,使用.appendTo('body')

小提琴演示#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());

小提琴DEMO #2

你的选择器有点偏离我的朋友:

jQuery("div#method").append("jonesy" + ",");
console.log(jQuery("#method").text());

有两个问题。首先,这里的每个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()

我可以发现两个问题:

  1. 如果您想为jQuery()函数提供HTML,它需要是完整的独立HTML。<div id="method"></div>是正确的,<div id="method">是错误的。
    编辑:刚刚测试,你的代码似乎工作良好
  2. 该语法创建一个新元素。如果你想搜索一个现有的元素,你需要使用CSS选择器。但是,您的元素既没有附加到DOM,也没有保存在变量中,因此没有简单的方法可以访问它。

我猜你想要这样的东西:

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