Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 如何检查链接是否有文本,并根据text-Jquery/JS的值计算条件_Javascript_Jquery - Fatal编程技术网

Javascript 如何检查链接是否有文本,并根据text-Jquery/JS的值计算条件

Javascript 如何检查链接是否有文本,并根据text-Jquery/JS的值计算条件,javascript,jquery,Javascript,Jquery,我想根据链接文本计算条件,并根据返回的值显示隐藏选项卡 HTML: 在某些不存在“帐户”链接的地方,它将返回:[] 现在我不知道如何检查数组是否为空或是否有值: if (link is empty){ //hide ` <a href="#accounts>Accounts</a>` }else{ //show ` <a href="#accounts>Accounts</a>` } if(链接为空){ //隐藏``

我想根据链接文本计算条件,并根据返回的值显示隐藏选项卡

HTML:

在某些不存在“帐户”链接的地方,它将返回:
[]

现在我不知道如何检查数组是否为空或是否有值:

 if (link is empty){
     //hide ` <a href="#accounts>Accounts</a>`
 }else{
      //show ` <a href="#accounts>Accounts</a>`
  }
if(链接为空){
//隐藏``
}否则{
//秀``
}
你知道如何评估这种情况吗/
谢谢

你可以做如下事情

var link = $('a').filter(function () {
    return $(this).text() == "Accounts";
    //will return: [<a href="#accounts>Accounts</a>]
});
//link is  a jQuery object that has a length property that tells how many dom elements are referred by this jQuery object
if (link.length) {
    //show div as 
} else {
    //hide div
}
var link=$('a')。过滤器(函数(){
return$(this).text()=“Accounts”;
//将返回:[]
});
//link是一个jQuery对象,它有一个length属性,告诉这个jQuery对象引用了多少dom元素
if(链接长度){
//将div显示为
}否则{
//隐藏分区
}

如果您将来在页面的其他部分可能有与文本帐户的链接,我会这样做:

<span class="links" id="mylinks">
    <a href="#info">Info</a>
    <a href="#accounts>Accounts</a>
    <a href="#user">Users</a>
</span>

var link = $('#mylinks').find(a).filter(function () {
   return $(this).text() == "Accounts";

});

if (link.length) {
    //show div 
} else {
    //hide div
}

var link=$('#mylinks').find(a).filter(函数(){
return$(this).text()=“Accounts”;
});
if(链接长度){
//节目组
}否则{
//隐藏分区
}

您可以使用jQuery
:contains
选择器。因为0是一个错误的值,所以可以直接比较

if ($("a:contains('Accounts')").length) {
    $("#accounts").hide();
} else {
    $("#accounts").show();
}

伟大的成功了!!现在,我尝试显示隐藏“Accounts”文本,而不是显示隐藏div,你能帮我吗?Thanks@user1234你是说你想隐藏帐户链接?那么在什么条件下呢?如果(link.length==0){//隐藏帐户链接}或者{//显示帐户链接}那么如果链接存在,您想隐藏它吗?我想你可以直接使用
link.hide()
,你能试试吗?
<span class="links" id="mylinks">
    <a href="#info">Info</a>
    <a href="#accounts>Accounts</a>
    <a href="#user">Users</a>
</span>

var link = $('#mylinks').find(a).filter(function () {
   return $(this).text() == "Accounts";

});

if (link.length) {
    //show div 
} else {
    //hide div
}
if ($("a:contains('Accounts')").length) {
    $("#accounts").hide();
} else {
    $("#accounts").show();
}