如何在悬停事件中将内容从一个元素追加到另一个元素

时间:2013-04-18 21:12:06

标签: jquery events dom

所以我有四个带标题的链接,我希望从中获取属性值并附加到外部的空div。

以下是jsFiddle

我遇到问题的部分是javascript

$('li a.link').hover(
    function(){
        $(this).text().appendTo('.container');
    });

我不在乎我是否抓住属性值或内部文本,但似乎都没有效果。我得到了空的div来说“Hello World!”当我将鼠标悬停在链接上时,但我无法获取标题值或HTML中的文本,并且感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

我认为如果这是一个悬停,即使你也希望文本在“Li a”的mouseleave上消失,所以我让你成为一个jsFiddle示例来做到这两点。如果有任何问题,请随时查看。

$(document).on('mouseenter','li a',function(){
    $('.container').text($(this).attr('title'));
}).on('mouseleave','li a', function(){
    $('.container').text('');
});

http://jsfiddle.net/danieljordan13/JfGhY/11/

答案 1 :(得分:0)

$('li a.link').hover(function(){
        var title = $(this).attr('title');
        $('.container').append(title);
});

Fiddle

答案 2 :(得分:0)

我建议,如果你想附加文字:

$('li a').hover(
    function(){
        var text = $(this).text();
        $('.container').text(function(i,t){
            return t + ' ' + text;
        });
    });

JS Fiddle demo

或者,如果您要替换文字:

$('li a').hover(
    function(){
        var text = $(this).text();
        $('.container').text(text);
    });

JS Fiddle demo

重新阅读问题,并且看到您想要使用title属性,我建议改为:

$('li a').hover(
    function(){
        var title = this.title;
        $('.container').text(title);
    });

JS Fiddle demo

参考文献:

答案 3 :(得分:0)

我更喜欢在append()

之前使用appendTo()

这有效:

$('.container').append($(this).text());

请参阅http://jsfiddle.net/JfGhY/5/

追加标题:

$('.container').append($(this).attr('title'));

http://jsfiddle.net/JfGhY/10/