此代碼是不工作:如何在使用jquery hasClass方法時獲得div的id?
$("div").hasClass("testSection").attr("id");
我收到以下錯誤信息:
TypeError: $(...).hasClass(...).attr is not a function
任何想法,問題可能是什麼?
此代碼是不工作:如何在使用jquery hasClass方法時獲得div的id?
$("div").hasClass("testSection").attr("id");
我收到以下錯誤信息:
TypeError: $(...).hasClass(...).attr is not a function
任何想法,問題可能是什麼?
的問題是因爲hasClass()
返回一個布爾值,而不是一個jQuery對象。因此,在布爾值上調用attr()
會導致您看到的錯誤。
假設只存在一個與指定類的div你可以使用類選擇:
var id = $("div.testSection").prop("id");
如果有與類多個div,你需要循環:
$("div.testSection").each(function() {
var id = this.id;
// do something with the id...
});
乾杯,這正是我需要的! – Bobby
.hasClass("testSection")
返回一個布爾值。它不會返回一個jQuery對象來鏈。
另外你也明白,當匹配多個元素時,使用特定函數如.attr
會從第一個選定元素返回。
$("div").attr('id'); => $('div').eq(0).attr('id');
感謝Vega更新我的jQuery知識 –
hasClass將返回true或false沒有反對,用這個,
$("div.testSection")
如果您希望獲取一組元素的所有id,則需要使用for構造或jQuery的每個函數來遍歷它們。我還建議使用道具()在ATTR(),儘管在這種情況下,它沒有多大關係:
的jsfiddle例如: http://jsfiddle.net/turiyag/QXyWV/1/
$.each($("div.foo"),function(index,value) {
log($(value).prop("id") + " ");
});
'.hasClass( 「testSection」)'返回true或錯誤,這就是爲什麼它不起作用。你想選擇類'testSection'的div嗎? –