Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅当存在CSS类时才运行jQuery函数_Javascript_Jquery_Html_Function - Fatal编程技术网

Javascript 仅当存在CSS类时才运行jQuery函数

Javascript 仅当存在CSS类时才运行jQuery函数,javascript,jquery,html,function,Javascript,Jquery,Html,Function,我制作了一个简单的jQuery函数来修剪文本。我这样触发它: // JS function truncate() { <! – Stuff to do --> } truncate(); // ... // HTML <div class="Truncate" data-words="60"> <! – Text to Trim --> </div> 这是创造性的语法,只是为了让您理解 …提前谢谢。如果我答对

我制作了一个简单的jQuery函数来修剪文本。我这样触发它:

// JS
function truncate() {

   <! – Stuff to do -->

}
truncate();


// ...    


// HTML
<div class="Truncate" data-words="60">

    <! – Text to Trim -->

</div>
这是创造性的语法,只是为了让您理解


…提前谢谢。

如果我答对了,请简单回答

函数doStuff(元素){
log('doing stuff…');
}
$(函数(){
var truncates=$('.Truncate');
if(truncates.length){//在这里验证是否有该类的元素
doStuff(截断);
}
});

如果我答对了,简单的回答

函数doStuff(元素){
log('doing stuff…');
}
$(函数(){
var truncates=$('.Truncate');
if(truncates.length){//在这里验证是否有该类的元素
doStuff(截断);
}
});

这是一个带有IFEE函数的js代码:

(函数(){
var elmTranc=document.getElementsByClassName('Truncate');
如果(elmTranc){

对于(var i=0;i,这里是一个带有IFEE函数的js代码:

(函数(){
var elmTranc=document.getElementsByClassName('Truncate');
如果(elmTranc){

对于(var i=0;i另一个使用querySelector的简单解决方案


另一个使用querySelector的简单解决方案


您可以创建迷你jquery插件:

//首先包括jquery
$.fn.truncate=函数(){
返回$(this).each(函数(){
$(this.text($(this.text().substr(0,2));
});
};
$(“.truncate”).truncate()
$(“.someotherclass”).truncate();

Abc
Xyz

123
您可以创建一个迷你jquery插件:

//首先包括jquery
$.fn.truncate=函数(){
返回$(this).each(函数(){
$(this.text($(this.text().substr(0,2));
});
};
$(“.truncate”).truncate()
$(“.someotherclass”).truncate();

Abc
Xyz

123
我终于做到了

if( $('.Truncate').length ) {
    (function() {
        suff
    })();
}

还好吗?

我终于做到了

if( $('.Truncate').length ) {
    (function() {
        suff
    })();
}


可以吗?

您当前如何调用它?您得到了什么错误?听起来像是
truncate
中的逻辑错误。在内部,我正在执行一系列依赖于类的操作。truncate但是问题只是因为函数在每个页面上都被调用。否则一切正常。我只希望它是c只有当该类的DIV存在时才调用
$.fn.truncate=truncate
,然后您可以使用
$('.truncate').truncate()
运行示例。您应该能够使用.map(JS native)或.each(Jquery函数)来应用truncate函数,而不使用if。本质上:$('.truncate').map(truncate)如果可以的话,我可以添加一些代码。你现在怎么调用它?你会遇到什么错误?听起来像是
truncate
中的一个逻辑错误。在里面,我正在做一堆依赖于类的事情。truncate,但问题只是因为函数在每个页面上都被调用。否则一切都正常。我只希望只有当包含该类的DIV存在时才调用它。
$.fn.truncate=truncate
,然后您可以使用
$('.truncate')运行示例。truncate()
您应该能够使用.map(JS native)或.each(Jquery函数)来应用truncate函数而不使用if。本质上:$('.truncate').map(truncate)如果可以的话,我可以添加一些代码?好的,谢谢。那么只有这种方法吗?因为我对JS有点生疏。我知道使用vanilla JS可以从HTML元素调用一个函数,比如onload=“myFunction()”所以我认为使用jQuery可以做类似的事情。@rolfo85-理想情况下,您希望JavaScript与HTML分开-我相信还有其他方法可以做到这一点,但上述方法肯定是最简单的方法之一。当您在jQuery中定义选择器时,它会返回一个找到的对象数组。您可以使用类似于:document.on的方法load=findTruncates();然后在该func中放置上述代码。不要将document.onload与jquery一起使用,请使用jquery的document ready:
$(函数(){findTruncates();})
Ok所以基本上IF只放在调用函数的地方,而不放在构建函数的地方。这有什么区别吗?好的,谢谢。所以只有这种方法吗?因为我对JS有点陌生。我知道使用vanilla JS可以从HTML元素调用函数,比如onload=“myFunction()”所以我认为使用jQuery可以做类似的事情。@rolfo85-理想情况下,您希望JavaScript与HTML分开-我相信还有其他方法可以做到这一点,但上述方法肯定是最简单的方法之一。当您在jQuery中定义选择器时,它会返回一个找到的对象数组。您可以使用类似于:document.on的方法load=findTruncates();然后在该func中,放置上面的代码。不要使用document.onload与jquery一起使用jquery的document ready:
$(function(){findTruncates();});
好,那么基本上IF只放在调用函数的地方,而不是构建函数的地方。这有什么区别吗?
if( $('.Truncate').length ) {
    (function() {
        suff
    })();
}