获取具有此元素而非标识符的文本区域的值

Get value of textarea with this element and not identifier

本文关键字:标识符 文本 区域 元素 获取      更新时间:2023-09-26

我想检查tinymce 中的空文本区域

$(".tooltip-empty-editor").each(function() {        
    if( $.trim( tinymce.get(this).getContent() ) == '' ) { 
        // .....
    }
});

html

<textarea class="editor tooltip-empty-editor " name="modif" >....</textarea>

但这一次我得到了错误tinymce.get(this).getContent()this他期望一个ID。

如何使用此with同义词来获取文本区域的值?

为什么不能定义id并按如下方式访问它?

$(".tooltip-empty-editor").each(function() {        
    if( $.trim( tinymce.get($(this).attr("id")).getContent() ) == '' ) { 
        // .....
    }
});

根据文本区域之间的关系,您可以尝试查找索引。您需要一个sibling,或者如果它们都是同一节点的子节点(parent),则无需麻烦=>$(this).index()

如果页面上只有一个=>textarea=tinymce.get(0)

HTML期望值:

<div class="parent">
    <div class="sibling">
        <textarea class="editor tooltip-empty-editor " name="modif" >....</textarea>
    </div>
    <div class="sibling">
        <textarea class="editor tooltip-empty-editor " name="modif" >....</textarea>
    </div>
</div>

JS

$(".tooltip-empty-editor").each(function() {
    var index = $(this).closest('.sibling').index(),
        //index = $(this).index(),
        textarea = tinymce.get(index); // get() requires an id or a number
    if( $.trim( textarea.getContent() ) == '' ) {
        // .....
    }
});

如果您的html被父级上的其他元素污染,则需要使用.filter()从中获取索引。

根据产品文档,TinyMCE的get() API"按id返回编辑器实例"。id参数应为字符串。在您的示例中,您似乎试图将不是String的"this"对象传递给它。

我会给页面上的每个文本区域一个唯一的ID属性,然后你可以使用该ID引用每个文本区域。

正如另一位海报所指出的,您也可以使用整数访问页面上的每个TinyMCE实例(例如tinymce.get(0)tinymce.get(1)