0

我觉得我的逻辑是有道理的;不幸的是,它没有:(?
更新:livecode 问题:
如何在 mouseenter 上抓取$(this).attr.('title')并将该文本设置为('HGROUP h1')'s 文本?

jQuery

$("div.box").on('mouseenter', function () { //select the box create mouseenter function
    var headerText = $(this).attr('title'); //get selected title and set to headerText
    $('HGROUP h1').text(headerText); //set hgroupd h1 text to headerText
});

$("div.box").on('mouseleave', function () { //select the box create mouseleave function
    $('HGROUP h1').text('DESIGNOBVIO.US'); //set the orginal text back in place on mouseleave
});

HTML

<div class="box">
<h1 title="can i haz it?2"></h1>
<div class="innerbox">
    <figure></figure>
    <ul class="categorySelect">
        <li class="misc"></li>
        <li class="print"></li>
        <li class="video"></li>
        <li class="web"></li>
    </ul>
</div>

Hgroup HTML

<HGROUP>
 <h1>designobvio.us</h1>
 <h2>the colors duke, the colors!7</h2>
</HGROUP>

任何关于我哪里出错的进一步解释都会很棒。

4

3 回答 3

1

看起来你需要使用:

var headerText = $(this).find('h1:first').attr('title');
于 2012-06-06T19:18:49.610 回答
1

改变这个:

var headerText = $(this).attr('title');

至:

var headerText = $(this).find('h1').attr('title');

您的代码正在尝试获取 div 而不是<h1>child 的标题。

于 2012-06-06T19:19:07.613 回答
0

您应该使用 find 来获取标题。

var headerText = $(this).find('h1').attr('title');

尝试这个 :

  $("div.box").on('mouseenter', function () { 
 //select the box create mouseenter function
  var headerText = $(this).find('h1').attr('title'); 
  //get selected title and set to headerText
   console.log(headerText);
    $('HGROUP h1').text(headerText); //set hgroupd h1 text to headerText
 });

 $("div.box").on('mouseleave', function () { 
       //select the box create mouseleave function
     $('HGROUP h1').text('DESIGNOBVIO.US'); 
     //set the orginal text back in place on mouseleave
 });​

这是演示

于 2012-06-06T19:22:55.093 回答