Следующий $ (этот), кажется, не возвращает $ ('. Element'). Любые идеи почему?
$('.element').popover({
container: $(this)
})
Следующий $ (этот), кажется, не возвращает $ ('. Element'). Любые идеи почему?
$('.element').popover({
container: $(this)
})
Как уже отмечалось другими, контекст это не как вы, возможно, ожидали. Возможно, попробуйте перебрать все элементы.
$('.element').each(function() {
$(this).popover({
container: $(this)
});
});
Внутри объема каждой функции, $ (это) будет относиться к конкретным $ («») элемента из списка всех элементов с этим классом.
В данном конкретном контексте, this
будет относиться к тому, что происходит с внешней области. Это может быть объект window
или некоторая содержащая функция.
Ваш код эквивалентен следующему:
var obj = {container: $(this)}; // <-- this is defined in outer scope
$('.element').popover(obj);
Это потому, что popover не является функцией события, а скорее функцией, которая применяет некоторые свойства к объекту.
Однако вы можете использовать каждый перебирать каждый элемент:
$('.element').each(function(i, obj) {
obj.popover({
container: obj
});
});
Поскольку обзорный не является правильным. Вы устанавливаете свойства объектов. – ahren
[Возможно, вы должны это проверить] (http://stackoverflow.com/questions/3127429/javascript-this-keyword) – musefan
Как я могу достичь того, что я пытаюсь сделать? –