Javascript text()不是函数

Javascript text()不是函数,javascript,jquery,ecmascript-6,Javascript,Jquery,Ecmascript 6,这是我的代码,有一个问题:This.element.text()-不是 函数是错误。我正在使用ES6课程方法。然后将其导出 import $ from 'jquery'; class WordAppear{ constructor(element){ this.elementValue; this.elementCharsSort; this.charValues; this.element = element; thi

这是我的代码,有一个问题:This.element.text()-不是 函数是错误。我正在使用ES6课程方法。然后将其导出

import $ from 'jquery';

   class WordAppear{
    constructor(element){
      this.elementValue;
      this.elementCharsSort;
      this.charValues;
      this.element = element;
      this.wordBreak();
    }
 wordBreak(){
    this.elementValue = this.element.text(); //issue here

    this.element.empty();

    this.elementCharsSort = this.elementValue.split('').sort();

    let i;
    for(i = 0; i <elementValue.length; i++){

        this.charValues = elementValue.split('')[i];

        let charSpan = $('<span>').addClass('animate-chars--is-
        hidden');

        charSpan.append(this.charValues).appendTo(element);

        charSpan.css({
            marginRight: '0.5em',
            display: 'inline-block'
        });
        setInterval(function(){
            charSpan.removeClass('animate-chars--is-hidden');
            charSpan.addClass('animate-chars--is-visible');
        }, this.elementCharsSort.indexOf(this.charValues) * 80);
      }
   }
 }

 export default WordAppear;
import$from'jquery';
类字出现{
构造函数(元素){
这个元素的价值;
这是夏尔梭特;
这就是价值观;
this.element=元素;
这个.wordBreak();
}
断字{
this.element值=this.element.text();//此处发布
this.element.empty();
this.elementCharsSort=this.elementValue.split(“”).sort();
让我;

对于(i=0;i您可以使用纯javascript模式:

this.elementValue = this.element.innerText; //issue here
或者jQuery方式:

this.elementValue = $(this.element).text(); //issue here
解决了

类别:

import $ from 'jquery';

class WordAppear{
constructor(element){
    this.elementValue;
    this.elementCharsSort;
    this.charValues;
    this.element = $(element);
    this.wordBreak();
}

wordBreak(){
    console.log(this.element);
    this.elementValue = this.element.text();

    this.element.empty();

    this.elementCharsSort = this.elementValue.split('').sort();

    let i;
    for(i = 0; i <this.elementValue.length; i++){

        this.charValues = this.elementValue.split('')[i];

        let charSpan = $('<span>').addClass('animate-chars--is-hidden');

        charSpan.append(this.charValues).appendTo(this.element);

        charSpan.css({
            marginRight: '0.5em',
            display: 'inline-block'
        });
        setInterval(function(){
            charSpan.removeClass('animate-chars--is-hidden');
            charSpan.addClass('animate-chars--is-visible');
        }, this.elementCharsSort.indexOf(this.charValues) * 80);

       }
    }
}

export default WordAppear;
传递到方法中的元素本身是jquery对象,因此,处理的元素也必须是逻辑中的jquery元素


谢谢大家!!!

那么
this.element
显然不是jQuery对象,并且没有
text()
方法。您是否尝试过
this.element.textContent
?我还建议尝试
$(this.element).text()
或者干脆
$(this.text())
。它肯定必须是jQuery对象,但很难理解您的情况,因为上下文不够。未捕获引用错误:elementValue未定义在执行此操作时说:this.elementValue=$(this.element)。text();未捕获引用错误:elementValue未定义在执行此操作时说:this.elementValue=$(this.element)。text();你导入了jquery吗?这个元素是有效的DOM元素吗?works知道了。因为我在传入元素时使用jquery,所以我必须在代码构建本身中使用jquery。谢谢!知道了!
import WordAppear from './modules/WordAppear';
import $ from 'jquery';

new WordAppear('#company-name');