Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.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
JQuery:如果元素有文本,则向其添加类_Jquery_Css_Class_Addclass - Fatal编程技术网

JQuery:如果元素有文本,则向其添加类

JQuery:如果元素有文本,则向其添加类,jquery,css,class,addclass,Jquery,Css,Class,Addclass,我有一个ul系列的链接。有些有文本,有些没有,例如: <ul> <li><a href="google.com">Google</a></li> <li><a href="yahoo.com">Yahoo</a></li> <li><a href="bing.com">Bing</a></li> <li><a href="#

我有一个ul系列的链接。有些有文本,有些没有,例如:

<ul>
<li><a href="google.com">Google</a></li>
<li><a href="yahoo.com">Yahoo</a></li>
<li><a href="bing.com">Bing</a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
</ul>
但是该类仍然影响所有的a标记。我只是想知道是否有人能给我指出正确的方向


谢谢

在我写这篇文章时,这似乎是最简单的:

$('a').filter(
    function(){
        var child = this.firstChild;
        if (child){
            return child.nodeType == 3 && child.nodeValue.length;
        }
    }).addClass('buttoneffect');​​

或者在纯JavaScript中:

var aElems = document.getElementsByTagName('a');

for (var i=0,len=aElems.length; i<len; i++){
    var child = aElems[i].firstChild;
    if (child && child.nodeType == 3 && child.nodeValue.length >= 1) {
        aElems[i].className += ' buttoneffect';
    }
}​
var aElems=document.getElementsByTagName('a');
对于(变量i=0,len=aElems.length;i=1){
aElems[i].className+='buttoneffect';
}
}​
.

试试这个

$('ul a').each(function()
               {                                        
                  if($(this).text()!='')    
                  {
                     $(this).addClass('buttoneffect');   
                  }
               });

检查

您能提醒buttontext的值并检查吗?谢谢。只是好奇,那个函数中的i是自动递增还是什么?它的用途是什么?@MeltingDog:您可能想熟悉:是的,i参数是选择器找到的列表中元素的索引。
var aElems = document.getElementsByTagName('a');

for (var i=0,len=aElems.length; i<len; i++){
    var child = aElems[i].firstChild;
    if (child && child.nodeType == 3 && child.nodeValue.length >= 1) {
        aElems[i].className += ' buttoneffect';
    }
}​
$('ul a').each(function()
               {                                        
                  if($(this).text()!='')    
                  {
                     $(this).addClass('buttoneffect');   
                  }
               });