如何定位工具提示菜单模板项

时间:2016-08-11 00:33:22

标签: javascript jquery html css

我正在使用lite工具提示菜单模板选项。我想在点击工具提示中的一个列表项时提醒一些事情。我想定位工具提示列表项。

<td>
                <a href='#' class = 'sales_tooltip' data-templatename='Conifer' 
                    data-title='<div class = "tooltip-menu">
                                    <ul><li class="sales_rep"><a href="#">Sales Rep 1 </a></li>
                                        <li class="sales_rep"><a href="#">Sales Rep 2 </a></li>
                                        <li class="last-child sales_rep"><a href="#">Sales Rep 3 </a></li>
                                    </ul>
                                </div>'> 
                    <i class = 'fa fa-male ' aria-hidden='true'></i>    
                </a>

            </td>

Javascript代码

$('a.sales_tooltip').find('.sales_rep').click(function(){

                alert('clicked');

                console.log("Tooltip clicked");
});

我无法在工具提示中定位li项目。

我实际上想要将a.sales_tooltip的数据标题属性更改为单击它时单击的列表项。这就是我的尝试。

$('body').on('click', '.tooltip-menu li.sales_rep', function() {

                    var $set_value = $(this).html();

                    $(this.closest('a.sales_tooltip')).attr('data-title', $set_value);



            });

1 个答案:

答案 0 :(得分:0)

li.sales_rep元素不是a.sales_tooltip的子元素,因此您无法使用$('a.sales_tooltip').find('.sales_rep')

此代码正在搜索类sales_rep的元素,这些元素是a.sales_tooltip的子元素。

您正在使用的工具提示库可能是将工具提示元素添加到正文中,因此您可以使用

$('body').on('click', '.tooltip-menu li.sales_rep', function() {
    alert('clicked');
    console.log("Tooltip clicked");
});

更新

经过长时间的讨论后,实际问题似乎是&#34;如何更改之后工具提示的内容?&#34;

嗯 - 在Lite工具提示中,无法销毁/重置/重新启动工具提示。

解决方案 - 当我们需要它时 - 用克隆元素(同一个)替换原始元素(具有工具提示),并为该克隆元素创建新的工具提示。

$('body').on('click', '.tooltip-menu li.sales_rep', function() {
    if (confirm("Have you chosen your sales rep?")) {
        var $set_value = $(this).html();
        var el = $('#'+ $(this).data('for'))
        var cloned_el =el.clone(); 

        cloned_el.attr('data-title', $set_value);
        el.replaceWith(cloned_el);
        cloned_el.LiteTooltip({ 
            location: 'left-bottom',
            trigger: 'hoverable',
            padding:0,
            margin:0
        });
        return true;
    }
});

这是一个有效的演示: http://codepen.io/anon/pen/KrbABp