2015-03-25 1 views
2

Я пытаюсь получить значение атрибута для каждого элемента с именем класса.CKEditor - для каждого атрибута с именем класса сделайте что-нибудь

Вот мой код:

var textareaId; 

$(document).ready(function() { 
    textareaId = $('#tiny_mce_block').find('textarea').attr('id'); // 
    ckeditor_init(); 
}); 

function ckeditor_init() { 
    CKEDITOR.replace(textareaId, { 
     allowedContent: true, 
      on: { 
      instanceReady: function (evt) { 
       var editor = this; 
       var data = editor.getData(); 
       var body = $(editor.document.getBody()); 

       jwplayer("video_block_sous_titres").onTime(function (event) { 
        $.each(**SELECT CLASS .ST**, function() { // HOW SELECT ELEMENTS WHERE THE CLASS IS 'st' 
         var d = SELECT DATA-TIME-START ; // HOW GET CONTENT OF ATTRIBUTE NAMED 'data-time-start' 
         var f = SELECT DATA-TIME-END; // HOW GET CONTENT OF ATTRIBUTE NAMED 'data-time-end' 
         if (d <= event.position && event.position <= f) { 
          if ($(this).attr("class") !== "active") { 
           $(".st").removeClass("active"); // HOW REMOVE THE CLASS 'active' 
           $(this).addClass("active"); // HOW ADD THE CLASS 'active' 
          } 
         } else { 
          $(this).removeClass("active"); // HOW REMOVE THE CLASS 'active' 
         } 
        }); 
       }); 
      } 
     } 
    }); 
} 

В моем текстовом поле у ​​меня есть это:

<span class="st" id="1" data-time-start="0.29" data-time-end="1.259" data-time-moy="0.1938">mardi </span> 
<span class="st" id="2" data-time-start="2.048" data-time-end="5.406" data-time-moy="0.10832258064516">qualité sécurité efficacité </span> 

Первый вопрос: В моем цикле, где JWPlayer называется, как я могу выбрать для каждого элемент, который имеет класс .st, значение атрибута с именем data-time-start и data-time-end?

Второй вопрос: После того, как добавить или удалить класс active к этому .st (с какой метод?)?

Я попытался получить содержимое атрибута подобное, но не так:

var st = el.find('#20'); 
console.log(st.getAttribute('data-time-start')); 

МОЕГО скрипку: http://jsfiddle.net/B4yGJ/415/

Спасибо за вашу помощь!

+0

Я не вижу в JW Player в этой скрипке? – emaxsaun

ответ

0

я решил мою проблему с этим:

function jwplayer_underligne_st() { 
     jwplayer("video_block_sous_titres").onTime(function (evt) { 
      //var st = $(CKEDITOR.instances[textareaId].window.getFrame().$).contents().find('.word'); 
      var st = $(CKEDITOR.instances[textareaId].window.getFrame().$).contents().find('.st'); 
      $.each(st, function() { 
       $this = $(this); 
       var d = $this.attr("data-time-start"); 
       var f = $this.attr("data-time-end"); 
       if (d <= evt.position && evt.position <= f) { 
        if ($this.attr("class") !== "active") { 
         $this.addClass("active"); 
        } 
       } else { 
        $this.removeClass("active"); 
       } 
      }); 
     }); 
    }