-1

已解决,但包含关键调试建议的答案已被作者删除。考虑结案。

这应该很简单,但由于某种原因,我无法弄清楚。我需要获取 div 的 title 属性的值,我拥有的 jQuery 代码是:

var name = $('#stg'+this.id).attr('title');

相关HTML源代码中的div是:

<div class="stage" id="stg32432432" title="Name - desc">...</div>

出于某种奇怪的原因, request forattr("title")不断返回,undefined即使所有返回的预期值都没有问题。我错过了什么?attr("id")attr("class")

编辑:我尝试使用(现已删除)回复中建议的技巧对其进行调试:

var name = $('#stg'+this.id)[0].outerHTML;

你瞧,它显示:

<div class="stage" id="stg32432432">...</div>

有东西吃了我的头衔!其他一切都与我预期的完全一样,但标题不见了。太糟糕了,我无法将该回复标记为正确,因为我认为从这里开始我可以追踪属性消失的位置。

更新:事实证明,用于将标题显示为精美工具提示的第三方库在处理标题时正在剥离标题。谜团解开了。

谢谢大家。

4

1 回答 1

0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('[class=stage][id^=stg]').live('mouseover', function () {
                var name = $(this).attr('title');
                $('#result').html('<h1>This ddiv title is: ' + name + '</h1>');
            });
        });
    </script>
</head>
<body>
    <span id="result"></span>
    <div class="stage" id="stg32432432" title="Name - desc1">
        1...
    </div>
    <br />
    <div class="stage" id="stg32432433" title="Name - desc2">
        2...
    </div>
    <br />
    <div class="stage" id="stg32432434" title="Name - desc3">
        3...
    </div>
    <br />
    <div class="stage" id="stg32432435" title="Name - desc4">
        4...
    </div>
</body>
</html>
于 2012-04-26T07:44:02.383 回答