Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript textContent返回未定义的_Javascript_Jquery_Html - Fatal编程技术网

Javascript textContent返回未定义的

Javascript textContent返回未定义的,javascript,jquery,html,Javascript,Jquery,Html,我有一个表,我想在其中提取活动项的文本。我使用以下代码执行此操作: var addedWorkout = $("#custDropDownMenuA").find(".dropdown-item.active"); console.log(addedWorkout); addedWorkout = addedWorkout.textContent; console.log(addedWorkout); 问题是我一直没有定义。我检查了控制台,它确实找到了我想要的元

我有一个表,我想在其中提取活动项的文本。我使用以下代码执行此操作:

    var addedWorkout = $("#custDropDownMenuA").find(".dropdown-item.active");
    console.log(addedWorkout);
    addedWorkout = addedWorkout.textContent;
    console.log(addedWorkout);
问题是我一直没有定义。我检查了控制台,它确实找到了我想要的元素

我对Javascript比较陌生,但在谷歌搜索了一个多小时后,我找不到这个问题,我也不明白为什么。我知道,如果我使用以下行对其进行硬核处理,我可以获得文本元素:

document.querySelector("#selectiona1").textContent
但不包括:

$("#selectiona1").textContent
这二者有什么区别?我读到textContent是DOM的一部分,据我所知,它与对象有关,根据我的控制台,我认为它是一个对象。我做了一些疯狂的尝试,比如把我得到的对象放入querySelector,但没有任何效果

使用这一行:

var addedWorkout = $("#custDropDownMenuA").find(".dropdown-item.active");
您正在使用jQuery选择
。下拉项。在
#custDropDownMenuA
中处于活动状态,当您使用jQuery选择时,您将得到一个jQuery对象作为响应。因此,
addedWorkout
是一个jQuery对象,jQuery对象通常不具有与标准HtmlElement相同的属性/方法。(
querySelector
是检索元素的普通Javascript方法)

选择jQuery集合中的第
[0]
项以获取第一个匹配元素:

var addedWorkout = $("#custDropDownMenuA").find(".dropdown-item.active")[0];
或者使用jQuery方法获取第一个匹配元素的文本,即
.text()

(注意新变量的使用-如果可能的话,创建新变量比重新分配旧变量更容易阅读和调试代码)

var addedWorkout = $("#custDropDownMenuA").find(".dropdown-item.active");
您正在使用jQuery选择
。下拉项。在
#custDropDownMenuA
中处于活动状态,当您使用jQuery选择时,您将得到一个jQuery对象作为响应。因此,
addedWorkout
是一个jQuery对象,jQuery对象通常不具有与标准HtmlElement相同的属性/方法。(
querySelector
是检索元素的普通Javascript方法)

选择jQuery集合中的第
[0]
项以获取第一个匹配元素:

var addedWorkout = $("#custDropDownMenuA").find(".dropdown-item.active")[0];
或者使用jQuery方法获取第一个匹配元素的文本,即
.text()


(注意新变量的使用-如果可能的话,创建新变量比重新分配旧变量更容易阅读和调试代码)

您的var
'addedWorkout'
是Jquery对象,而不是html元素

要显示文本,请使用:

addedWorkout.text();
或者,您可以通过添加索引[0]将
'addedWorkout'
更改为html元素,如下所示:

addedWorkout[0].textContent;

您的var
'addedWorkout'
是一个Jquery对象,而不是html元素

要显示文本,请使用:

addedWorkout.text();
或者,您可以通过添加索引[0]将
'addedWorkout'
更改为html元素,如下所示:

addedWorkout[0].textContent;

addedWorkout
是一个jQuery对象,它没有
textContent
属性。使用
addedWorkout.text()
或(这是我要做的)取消jQuery,因为大多数DOM操作任务不再需要它。只需替换
var addedWorkout=$(“#custDropDownMenuA”)。查找(“.dropdown item.active”)
var addedWorkout=document.querySelector(“#custDropDownMenuA.dropdown item.active”),其余部分保持原样。我建议您先通过jQuery学习本机DOM API。只在jQuery真正对您有利的地方使用它(如果您不了解本机DOM API,您将不知道这一点)。
addedWorkout
是一个jQuery对象,它没有
textContent
属性。使用
addedWorkout.text()
或(这是我要做的)取消jQuery,因为大多数DOM操作任务不再需要它。只需替换
var addedWorkout=$(“#custDropDownMenuA”)。查找(“.dropdown item.active”)
var addedWorkout=document.querySelector(“#custDropDownMenuA.dropdown item.active”),其余部分保持原样。我建议您先通过jQuery学习本机DOM API。只在jQuery真正有利于您的地方使用它(如果您不了解本机domapi,您将不知道这一点)。