我试图查找某些元素,如果它们在Wordpress Widget中包含某个类。但是,我无法理解为什么 exam student total_st
0 French a 1
1 English a 1
2 Italian a 1
3 Chinese b 1
4 Russian b 1
5 German b 1
6 German c 2
7 Spanish c 2
8 English c 2
9 French c 2
没问题,但cy.cxtmenu({
selector: 'node, edge',
commands: [
{
content: '<span class="glyphicon glyphicon-pencil"></span>',
select: function(ele)
{
var $input = '<input type="text" value="'+ ele.data('name') +'" size="20" style="z-index: 10000;"/>';
$('div#cy').append($input);
}
},
{
content: '<span class="glyphicon glyphicon-remove"></span>',
select: function(ele){
}
},
{
content: '<span class="glyphicon glyphicon-trash"></span>',
select: function(ele){
ele.remove();
}
}
]
});
会抛出错误,说它不是函数!
HTML
authors.hasClass()
JS
currentAuthor.hasClass()
答案 0 :(得分:5)
通过将对象作为数组循环,您可以将它们视为标准JavaScript对象。因为hasClass()
是一个jQuery方法,所以它只能用在jQuery对象上。您可以使用jQuery的.each()
,其中jQuery(this)
指的是循环中的当前元素。
var authors = jQuery("li");
authors.each(function() {
if (jQuery(this).hasClass("active")){
//Do stuff
}
});
话虽如此,为什么选择所有li
元素然后检查它们是否具有活动类,何时只需选择所有活动元素?
var $active = jQuery("li.active");
$active.each(function() {
//Do stuff
});
或者根据您正在做的事情,您甚至可能不需要each()
// Turn all active li elements red
var $active = jQuery("li.active");
$active.css("color", "red");
答案 1 :(得分:1)
Beacuse if ($ticket->status == 1) {
echo 'Open';
}
不返回jQuery对象,而是返回原始DOM元素(因此它没有像authors[i]
这样的jQuery方法)。
根据jQuery文档:
jQuery对象是围绕一个或多个DOM的类似数组的包装器 元素。获取对实际DOM元素的引用(而不是 jQuery对象),你有两个选择。第一个(也是最快的) 方法是使用数组表示法......
要解决您的问题,您必须将返回的元素包装在jQuery对象中,如下所示:
hasClass
或使用eq方法从集合中获取jQuery对象:
var currentAuthor = $(authors[i]);