CKEditor-对每个具有类名的属性执行一些操作
CKEditor - For each attribute with class name do something
我正在尝试为每个具有类名的元素获取属性的值。
这是我的代码:
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/
谢谢你的帮助!
我解决了这个问题:
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");
}
});
});
}
相关文章:
- CKEditor-对每个具有类名的属性执行一些操作
- 如何防止在javascript中执行继承属性的getter-setter方法
- 如何指定在执行控制台时要显示的属性.log对象
- 在单击onclick属性后的按钮时执行f:setPropertyActionListener
- 无法更新 Kendo-grid 中的值 - 无法读取未执行的“数据”属性
- 删除对象属性在执行删除操作之前生效
- Windows Phone浏览器控件执行JS函数来替换src属性
- 在初始化Javascript时执行的私有函数中设置公共属性
- 从子函数执行父函数;t更新父级'的属性
- javascript中作为对象属性值的自执行函数
- 修改时,哪些DOM元素属性会导致浏览器执行回流操作
- 我可以't获取单选按钮上的onclick属性以执行javascript函数
- 在多个(html)元素上循环执行相同的JavaScript函数属性更改
- 仅使用textbox方法和属性在confirm ok和cancel的代码隐藏中执行不同的代码
- 在Javascript中对对象属性执行字符串方法
- 在锚标记的 href 属性中执行 JavaScript
- 未捕获的类型错误:无法读取属性,JS 在页面呈现之前执行
- 如何根据对象(而不是数组)的属性执行合并排序
- JavaScript-基于发送对象属性执行函数
- 如何对javascript对象的属性执行计算并将其打印出来