如何使用jQuery将" title"属性转换为鼠标悬停事件?
时间:2020-03-06 15:03:33 来源:igfitidea点击:
我在"表"" td"元素中有一个" span"元素。 span标签具有标题。
我想获取该span标签的标题并将其拉出,以使其成为" td"元素的" mouseover"提示。
例如:
我想转这个:
<td> <a href="#"><span id="test" title="Acres for each province">Acres</span></a> </td>
变成这个:
<td onmouseover="tip(Acres for each province)"> <a href="#"><span id="test">Acres</span></a> </td>
编辑:我不认为你们理解。我正在尝试将onmouseover函数放入" td"标签中。我不打算将其放入" span"标签中。
解决方案
就像是:
$("span#test").mouseover( function () { tip($(this).attr("title")); }
使用jQuery:
$('#test').attr('title')
根据编辑,我们可以检查jQuery的DOM遍历方法:http://docs.jquery.com/Traversing
遵循这些原则(未经测试,我不认为它在语法上是正确的,这里只是一般性的想法)...
$("td").each(function() { $(this).mouseover(function() { tip($(this).children("span").attr("title")); }); });
如果我们不能在td上放置类或者以某种方式选择它,则从选择跨度开始,然后转到跨度的祖父母并添加到鼠标悬停上:
// get each span with id = test $("span#test").each(function(){ var $this = $(this); // attach to mouseover event of the grandparent (td) $this.parent().parent().mouseover( function () { tip($this.attr("title")); } );
好的,我也会尝试的:P
$("#yourTable").find("td").over(function() { generateTip($(this).find("span:first").attr("title") } , function() { removeTip() } )
这是做什么的:
- 获取ID为yourTable的表
- 选择所有的td
- 插入mouseover和mouseout事件
- mouseover事件:使用该td中第一个跨度的标题值调用generateTip函数
- mouseout事件:调用removeTip()(可选)函数。