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,您将不知道这一点)。