【问题标题】:jQuery - Error: unsupported pseudo: visiblejQuery - 错误:不支持的伪:可见
【发布时间】:2018-03-18 06:11:28
【问题描述】:
在互联网上,我看到大量使用 :visbile 伪选择器的示例(用于过滤 display:none;)。
但是当我尝试使用它时,jQuery 给出了一个错误:
未捕获的错误:语法错误,无法识别的表达式:不支持
伪:可见 - jquery.min.js:2
这就是我所做的:
function initSimpleTinyMCE(selector) {
console.log(selector+':visible'); // .simple-tinymce:visible
tinymce.init({
selector: selector+':visible',
});
}
【问题讨论】:
标签:
javascript
jquery
css
css-selectors
pseudo-class
【解决方案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】:
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 中的某些内容匹配。
【解决方案3】:
你可以这样使用function initSimpleTinyMCE(selector) { console.log($(selector+':visible'));tinymce.init({selector: $(selector+':visible'),});}