2017-04-10 145 views
0

我是JQuery的专业人员,需要帮助显示和隐藏元素。显示和隐藏元素if语句JQuery

目标:

如果部件标题=滤波器选择 然后显示控件 其他隐藏

这是我有:

if ($('widget-title',element) === ($('.uc-box-text'.title(),element){ 
    (i have no clue how to tell it to show just this widget with this title particular).show() 
else 
    (widget).hide() 

当我尝试测试它没有任何反应,我不知道如何告诉它特定的小部件,而不仅仅是标题。

愿你们一起帮助我吗?

的HTML很长,但,这是对插件的代码

<widget type="pivot" subtype="pivot" family="" widgetid="58e69a5730a1e50000001015" class="widget columnar" data-ng-class="{refreshing:widget.refreshing, hidden:layoutState.resizing || layoutCellState.resizing || layoutSubCellState.resizing, 
renderMode: dashboard.renderMode, 'has-breadcrumbs': widget.metadata.isDrilled()}" data-ng-controller="dashboard-layout.controllers.columnar.widget" columnar-widget="" data-ng-style="{height: widgetHeight}" dashboard-columnar-draggable="" data-ng-repeat="element in subcell.elements" style="position: relative; height: 121px;"> 

<widget-header style="width: 100%; background-color: rgb(84, 84, 84); border-left: 8px solid rgb(28, 145, 192);"> 

<widget-title style="float: left; font-family: opensansregular; font-weight: normal; font-size: 16px; color: rgb(238, 238, 238); vertical-align: middle; text-align: left;" data-ng-hide="layoutState.minSizeReached" title="TEST" class="">TEST</widget-title> </div> 
+1

这将是多一点有益的,如果你可以发布您的小部件的HTML也是如此。 – Aj334

+0

你可以使用'.toggle()'并避免if条件。 – funcoding

+0

“*您能否......推荐一些适合初学者的好书JQuery?*” - 不,因为任何建议都会在几个月,几周或几天内过时。至于帮助你从''遍历到'',你需要显示它们在DOM中相关,无论是祖先后裔还是兄弟姐妹。 –

回答

0

不能给你一个确切的答案,没有看到你的HTML,但是这应该让你开始:

$(function() { 
 
    $('.widget').each(function() { 
 
    var widgetTitle = $('h2',this).text(); 
 
    if (widgetTitle === 'Widget One') { 
 
     $(this).hide(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="widget"> 
 
    <h2>Widget One</h2> 
 
    <p>This widget <strong>will not</strong> be shown</p> 
 
</div> 
 

 
<div class="widget"> 
 
    <h2>Widget Two</h2> 
 
    <p>This widget <strong>will</strong> be shown</p> 
 
</div>

+0

我认为你可以做'切换(widgetTitle ==='Widget One')'也是! – funcoding

+0

是的,这也会起作用,它只是相反的:'$(this).toggle(widgetTitle!=='Widget One');' – APAD1

-1

jQuery利用ID,类等来选择特定的元素。对想要使用的元素使用类或ID是个好主意。

<widget id='my-widget'... 

然后你可以使用

$("#my-widget").show(); 
+0

不是我的倒退,但在许多情况下, 'id'或'class'是不必要的(并不总是,但经常)。 –