1

我想让 JQuery 弹出框的内容依赖于元素的值。弹出框已创建,但没有内容。这就是我正在尝试的(并且它没有为内容产生任何东西)JQuery:

 $("[name=teacher]").popover({
    title: 'Teacher',
    content: $(this).attr('value'),
    trigger: "hover"
  });

HTML:

<div name="teacher" value="foo1">Bar1</div>
<div name="teacher" value="foo2">Bar2</div>
4

2 回答 2

3

首先,value 和 name 不是 div 元素的有效属性。您应该改用数据属性和类名:

<div class="teacher" data-value="foo1">Bar1</div>

您可以像这样访问数据属性:

$(this).data('value');

关于弹出框的东西。$(this) 用于弹出框,而不是您单击的当前元素,这就是内容为空的原因。您需要先手动触发悬停功能,然后显示弹出框:

$(".teacher").hover(function () {
    $(this).popover({
        content: $(this).data('value')
    }).popover('show');
}, function () {
    $(this).popover('hide');
});

​ 演示:http: //jsfiddle.net/LjmrG/

于 2013-01-01T18:38:55.843 回答
0

尝试使用 val() 函数......像这样......

$(this).val();

可能工作...

于 2013-01-01T18:40:59.733 回答