jquery TypeError:abc.getAttribute不是函数

30byixjq  于 2023-11-17  发布在  jQuery
关注(0)|答案(8)|浏览(169)

对于以下代码:

<span class="map-marker" data-lng="101.7113506794"></span>
  <span class="map-marker" data-lng="101.6311097146"></span>

  var abc = $('.map-marker:first');
  var xyz = abc.getAttribute("data-lat");
  console.log(xyz);

字符串
我得到错误消息:TypeError: abc.getAttribute is not a function。我做错了什么?

sh7euo9m

sh7euo9m1#

试试这个可能是:

var abc = $(".map-marker:first")[0];
var xyz = abc.getAttribute("data-lat");
console.log(xyz);

字符串
或者这个:

var abc = $(".map-marker:first");
var xyz = abc.data("lat");
console.log(xyz);

5gfr0r5j

5gfr0r5j2#

abc是一个jQuery对象,所以它没有getAttribute()函数。它有一个attr()函数。

8i9zcol2

8i9zcol23#

我做错了什么?
您将 *jQuery对象 * 视为 *DOM元素 *。jQuery对象没有getAttribute方法。您可以使用.attr.data代替。

4bbkushb

4bbkushb4#

您正在选择多个元素。select函数返回一个数组,该数组没有getAttribute函数。您可以使用for循环来遍历选择并获取属性值,或者可以使用索引器(例如[0])来获取特定元素的属性。

lsmepo6l

lsmepo6l5#

你试图得到“data-lat”,但你只定义了“data-lat”。

dbf7pr2w

dbf7pr2w6#

刚刚进入这个问题.同意@菲利克斯克林尝试下面:

<span class="map-marker" data-lng="101.7113506794"></span>
<span class="map-marker" data-lng="101.6311097146"></span> 

<script>
var abc = $('.map-marker:first');
var xyz = $(abc).attr("data-lng");
console.log(xyz);
</script>

字符串

3ks5zfa0

3ks5zfa07#

注意在具有动态作用域的事件处理程序中访问this
调用this上不存在的函数可能导致node.getAttribute is not a function

hgb9j2n6

hgb9j2n68#

NamedNodeMap s可能有点挑战性。find方法有时会返回NamedNodeMap类型的元素内的属性,该类型也可以转换为数组;但是可选地,可以直接读取nodeValue。以XML-RSS 2源为例,对于源中的每个item,其特征图像通过标签<media:content url="the_value_here">可用,阅读值可以通过指向rss_item.find("media\\:content")[0]['attributes']['url'].nodeValue来实现,这是一个纯方法。按照控制台转储来找到您案例中的最佳实践。

相关问题