2012-02-04 1 views
1

Я использую плагин jqueryrotate, и он работает, если я хочу повернуть содержимое родительского идентификатора, но я хочу повернуть диапазон, являющийся дочерним по отношению к id. Я не нахожу правильный синтаксис для таргетинга на span.Пытаться к цели <span> Содержимое с jQuery

$(".faqq").click(function(){ 
     var showthis = "#" + this.id + "a"; 

      /* .plus is the class name of the span I am trying to target */ 
     var rotatethis = "#" + this.id + " .plus"; 

     $(showthis).slideToggle('fast'); 
     $(rotatethis).rotate({ 
      angle: 0, 
      animateTo:225 
      }) 
    }); 

Может ли кто-нибудь увидеть, что я делаю неправильно? Благодаря!

EDIT: HTML Пример:

<p id="faqq1" class="faqq"> 
      <strong>Q. Where is my order? <span class="plus">+</span></strong> 
     </p> 
<p id="faqq1a" class="faqa"> 
      A. You can ...what we know. 
     </p> 
+0

Даже не увидев ваш html, я бы мог подумать. И если вы разместите демо-версию (возможно, в [JS Fiddle] (http://jsfiddle.net)), которая поможет. –

+0

Я добавил html, но он использует плагин jquery, поэтому я не знаю, как добавить это в JS Fiddle, но вопрос касается основ jQuery, я предполагаю, я просто не могу найти ответ в поисках. –

ответ

2

Убедитесь, что .plus имеет позиционирование, что позволяет его положение для установки.

$(rotatethis) 
      .css('position','relative') 
      .rotate({ 
      angle: 0, 
      animateTo:225 
      }); 

Вы, вероятно, хотите сделать это в CSS вместо с JQuery-х .css().


Примечание стороны, но я бы заменить это ...

var rotatethis = "#" + this.id + " .plus"; 
$(rotatethis) 

с этим ...

$(this).find('.plus') 

EDIT:

Inst ead от position: relative, проблема заключалась в том, что display: block был необходим.

+0

Я добавил позицию, как вы показали, но она все еще не нацелена на пролет. Является ли $ (# id .class) правильным синтаксисом? –

+0

Только что увидел вашу сторону записку и изменил ее. Хотя я понимаю, что это лучший способ кодировать его, он по-прежнему не решает проблему таргетинга. –

+0

@MichaelDavis: Это правильный синтаксис, но вы всегда можете искать текущий элемент с помощью '$ (this) .find ('. Class')'. Первое, что вам нужно сделать, это проверить консоль ошибок на наличие ошибок. Во-вторых, убедитесь, что найден соответствующий элемент. Быстрый тест: «console.log» («plus:», $ (this) .find ('. Plus'). Length); ', затем откройте консоль браузеров, чтобы увидеть результат. –

 Смежные вопросы

  • Нет связанных вопросов^_^