jQuery - 错误:不支持伪:可见

时间:2017-10-06 12:25:13

标签: javascript jquery css css-selectors pseudo-class

在互联网上,我看到大量使用:visbile伪选择器的示例(过滤display:none;)。

但是当我尝试使用它时,jQuery会出错:

  

未捕获错误:语法错误,无法识别的表达式:不支持   伪:可见 - jquery.min.js:2

这就是我所做的:

function initSimpleTinyMCE(selector) {
    console.log(selector+':visible');    // .simple-tinymce:visible
    tinymce.init({
        selector: selector+':visible',
    });
}

3 个答案:

答案 0 :(得分:1)

Tiny-MCE仅支持css选择器。 :visible伪选择器特定于jQuery,因此不能以这种方式使用。假设您在项目中使用jQuery,这样的东西可以工作:

funciton initSimpleTinyMCE(selector)
{
    var element = jQuery(selector+":visible").first(); //Just in case the selector matches multiple elements.
    tinymce.init({
        target: element[0]
    });
}

在尝试初始化Tiny-MCE之前,您可能还需要执行检查以确保选择器与dom中的某些内容匹配。

答案 1 :(得分:1)

如果您使用的是jQuery TinyMCE,可以像这样使用它:

function initSimpleTinyMCE(selector) {
    $(selector+':visible').tinymce({
    	// Options
    });
}

initSimpleTinyMCE('.simple-tinymce');
.hidden {
  display:none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/tinymce/4.5.6/tinymce.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tinymce/4.5.6/jquery.tinymce.min.js"></script>

<textarea class="simple-tinymce"></textarea>

<textarea class="simple-tinymce hidden"></textarea>

答案 2 :(得分:0)

您可以这样使用function initSimpleTinyMCE(selector) { console.log($(selector+':visible'));tinymce.init({selector: $(selector+':visible'),});}