此问题继续How to get attributes of container in jQuery,我的网页上有不同的容器,所有容器都有<div id = "some values">
。现在,我如何为每个组件分别获取属性值?
有什么方法可以知道哪个属性id属于哪个容器div?
目前我正在使用:
var id = $( '.promotion' ).attr( 'id' );
但是如果我在页面上有多个促销组件并且所有的div属性都与id相同,那么这个特定的属性id属于这个特定的容器我该怎么说呢?
更新:我正在为页面上的每个容器调用一个函数,所以如果我使用上面提到的代码而不是总是返回我的第一个id匹配div并且永远不会去其他div,因此我将始终获得第一个容器的id相同的值?如果是这样的话,那为什么呢?
var id = $( '.promotion' ).this.attr( 'id' );
var id = $( '.promotion' ).$this.attr( 'id' );
var id = this.$( '.promotion' ).attr( 'id' );
我如何知道属性值是否适用于当前容器,那么我该如何正确使用它来获取此信息呢?
希望这个问题很明确。
答案 0 :(得分:1)
您可以循环遍历并单独处理每个div
$(".promotion").each(function() {
var id = this.id; // 'this' is the html element, not the jquery object
});
<强>更新强>
function myfunc() {
alert(this);
}
// inside myfunc, this will be the window
myfunc();
// call (also: apply()) changes "this" to be the first argument
myfunc.call(document.getElementById("someid"));
Jquery使用this
来引用当前正在处理的元素。在将成为目标元素的事件中。在.each
中,它是集合中的当前元素。
考虑:
$(".promotion").click(function() {
alert(this); // will alert with the div that was clicked
});
在Jquery中,您可以使用$(element)
使用JQuery Object包装任何html元素。因此,当this
是上述示例中的html元素时,您可以使用$(this)
:
$(".promotion").click(function() {
alert($(this).attr("id")); // will alert with the div that was clicked
});
在此处使用它:http://jsbin.com/okuri3/edit。
有关this
的更多信息: