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