5

我正在使用 JQUERY 和 JQUERY UI 来更改一小段文本的标题值。当页面首次加载时,工具提示工作正常并显示我的“点击展开”工具提示。当用户点击“更多...”或“更少...”文本时,它应该触发点击功能(它确实如此);切换博客文章的可见性(它确实如此);将文本从更多切换到更少,反之亦然(确实如此);然后更新按钮的标题,以便工具提示显示新文本(它确实会更新,如 Chrome 中所示)。但是,工具提示永远不会改变,即使标题显示“折叠帖子” - 工具提示仍然显示“点击查看更多”。

如何以 JQUERY UI 工具提示看到更新并在鼠标悬停时正确报告新值的方式动态更新我的标题?

/*
 * 
 * @DocumentReady
 */
$(window).ready(function(){ //Checks if the document is ready

    /*
     *
     *
    */
    $(".moreButtonClass").click(function(){ //Handles the button click
        // just leaves the number and appends to make the div ID
        var postID      = "#post" + this.id.replace(/[^\d]/g, "");
        var moreButton  = "#moreButton" + this.id.replace(/[^\d]/g, "");
        $(postID).toggle(); // Toggle visibility
        if($(postID).is(":visible")) {
            $(moreButton).text("less...");
            $(moreButton).attr("title", "Collapse Post");
        } else {
            $(moreButton).text("more...");
            $(moreButton).attr("title", "Show Post");
        }
    }); //Close the function

    /*
     *
     *
    */
    $( "#tabs" ).tabs({
        beforeLoad: function( event, ui ) {
        ui.jqXHR.error(function() {
            ui.panel.html(
                "Couldn't load this tab. We'll try to fix this as soon as possible. ");
            });
        }
    }); // Close the function

    /*
     * 
     */
    $(function() {
        $( document ).tooltip({track: true}); // Allow JQUERY to handle tooltips
    }); // Close the function

}); // Close the Document Ready Function
4

2 回答 2

10

你不能使用

$(moreButton).attr("title", "Show Post");

因为工具提示由 jQuery UI 初始化。而是使用这个:

$(moreButton).tooltip( "option", "content", "Show Post - test" );

RTM:http ://api.jqueryui.com/tooltip/#option-content

于 2013-06-06T18:45:16.067 回答
5

我在引导程序中使用 Jquery,但这些都不起作用。我不得不这样做:

$("#myelement").attr("data-original-title", "New title/message" );

这在使用 ajax 的动态加载模式内部起作用 - 并且原始页面元素已更改,因此看起来很可靠。

于 2017-09-06T17:26:52.467 回答