JQuery的.load和$this

3
我是一个可以帮助翻译文本的助手。

我在使用JQuery中的.load方法时遇到了一个小问题,这让我感到非常苦恼 - 我很确定它很简单,但是我已经盯着它看了太久了 :)

我有以下代码在.ready(function() {里:

$('.content_s').load('url/path/aspxpage?dataid='+$(this).attr('data')); 

需要查找至少一个带有 class="content_s" 且含有 data="data" 部分的div,但是我无法获取data属性——不管我设置多少个div或者设置什么数据,都只能获取未定义(undefined)。aspx页面被正确调用,只是没有data属性。

如上所述,我认为我已陷入了困境中,任何建议将不胜感激。

祝好


2
$('.content_s').load('url/path/aspxpage?dataid='+$('.content_s').attr('data')); - madflow
@madflow $('.content_s').attr('data') 只会返回第一个 .content_s 元素的数据。 - xdazz
data="data"不是写数据属性的正确方式,你必须使用data-key="value" - Wesley Murch
2个回答

1

在这种情况下,您需要使用.each

$('.content_s').each(function() {
    var $this = $(this);
    $this.load('url/path/aspxpage?dataid='+$this.attr('data'));
});

0
在这个上下文中,$(this) 不是目标 div。
试试这个: $('.content_s').each(function() { $(this).load('url/path/aspxpage?dataid='+$(this).attr('data')) });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接