jQuery - Error: unsupported pseudo: visible

jQuery - Error: unsupported pseudo: visible

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

但是当我尝试使用它时 jQuery 给出了一个错误:

Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: visible - jquery.min.js:2


这是我所做的:

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

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

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 中的内容匹配。

如果你正在使用 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>