首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >返回未定义的数组的jQuery.push

返回未定义的数组的jQuery.push
EN

Stack Overflow用户
提问于 2013-01-11 21:15:27
回答 2查看 14.8K关注 0票数 0

我试图将数据从这个h5标签推送到我的收藏夹数组中,但它总是返回未定义的结果。它确实返回了一些东西,它在单击时起作用,但它只是一直返回未定义的内容。

代码语言:javascript
运行
复制
<h5 id="favoriteartist"> Armin van Buuren </h5>

这是我的脚本。

代码语言:javascript
运行
复制
$('#favoriteadd').live('click',function() {
    var favorites = []
    favorites.push( $('h5 #favoriteartist').val() );
    console.log(favorites);
});

我在这里做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-11 21:17:45

您的选择器错误。简单使用:

代码语言:javascript
运行
复制
$("#favoriteartist");

另外,你应该使用.text,而不是.val

代码语言:javascript
运行
复制
favorites.push( $("#favoriteartist").text() );

如果您使用的是jQuery 1.7+,则应该使用.on,而不是.live

代码语言:javascript
运行
复制
$(document).on('click', '#favoriteadd', function() {
    var favorites = []
    favorites.push( $('#favoriteartist').text() );
    console.log(favorites);
});

现在,您可以使用静态选择器更改document。如果在绑定事件时#favoriteadd在文档中,您可以简单地将其绑定为普通事件:

代码语言:javascript
运行
复制
$('#favoriteadd').on('click', function() {
    var favorites = []
    favorites.push( $('#favoriteartist').text() );
    console.log(favorites);
});

h5 #favoriteartist就像在说:

  1. 给我整个页面上的所有h5元素。
  2. 现在给我所有元素的id favoriteartist是这些h5的(孙-)子元素。

我们知道html中的id总是唯一的,所以我们简单地说:

给我id为favoriteartist.的元素

票数 7
EN

Stack Overflow用户

发布于 2013-01-11 21:19:08

您的代码不会返回未定义的。它返回一个只有一个元素的数组。元素是未定义的,这意味着您的选择器正在选择一个没有值的h5元素,因此该选择的val()将返回undefined.val()可以用在例如.一个文本输入字段,用于获取用户键入的值

代码语言:javascript
运行
复制
<input type="text" id="t" value="..." />
...
$("#t").val(); //will return the value of the input element

对于h5元素,如果希望获得该元素的文本内容,请改用.text()

代码语言:javascript
运行
复制
$("#favoriteartist").text(); //will return " Armin van Buuren "
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14278985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档