在我的页面上,我有一个搜索表单,可以为结果生成一个表格。在该表中,每个单元格内容都被一个span标记包围,该标记的ID基于数据库中的单元格名称和行ID。此外,跨度获得固定的类。下面是一个印刷的例子:
<td><span id="firstname_203" class="text">John</span></td>
我想要做的是,当我将包含firstname的单元格悬停时,我希望firstname出现在页面的不同部分。我已经尝试了下面的代码,但它只返回firstname = null:
( function($) {
$(document).ready(function()
{
$(".text").hover(function()
{
var ID=$(this).attr('id');
var firstname=$("#firstname_"+ID).html();
$($(".firstname")).html("firstname="+firstname);
});
});
} ) ( jQuery );
这是ID部分不起作用,因为如果我对ID进行硬编码(例如“#firstname_203”)它就可以正常工作。
当我考虑它时,我唯一需要知道的是如何在ID之后获得php生成的整数。
更新
添加更多变量时(。).text不起作用,因为它返回了整行值。相反,我必须使用它:
$("#table td:nth-child(1)").hover(function(event){
并将单元格返回为:
var firstname= $td.eq(0).text();
等等。
答案 0 :(得分:1)
你可以跳过整个Id kerfuffle并直接进入.html()
。
(function($) {
$(document).ready(function() {
$(".text").hover(function() {
var firstname = $(this).html();
$(".firstname").html("firstname=" + firstname);
});
});
})(jQuery);
此外,您可能只是使用.text()
编辑:
鉴于此html
<div class="userDetails">
<span class="fname">Barry</span>
<span class="lname">Smith</span>
</div>
<div class="firstname">Firstname</div>
<div class="lastname">Lastname</div>
你可以这样做:
(function($) {
$(document).ready(function() {
$(".userDetails").hover(function() {
var firstName = $('.fname', this).text();
var lastName = $('.lname', this).text();
$(".firstname").html("firstname=" + firstName);
$(".lastname").html("lastname=" + lastName);
});
});
})(jQuery);
我为你创建了一个jsFiddle - http://jsfiddle.net/HZRSW/