2014-07-19 144 views
0

我使用产生以下HTML隐藏内容而不隐藏子类

<li role="tab" class="first current" aria-disabled="false" aria-selected="true"> 
    <a id="form-3-t-0" href="#form-3-h-0" aria-controls="form-3-p-0"> 
      <span class="current-info audible">current step: </span> 
      <span class="number">1.</span> 
      Text I want to hide 
    </a> 
</li> 

我想简单地显示的步数时,该设备比768px小的形式向导插件。

问题是,我不知道如何隐藏/删除“我想隐藏的文本”,因为它不属于我可以直接定位的元素。

任何人都可以帮助我隐藏文字而不隐藏class="number"在同一时间吗? 我的尝试不起作用。即使我不告诉它,它也隐藏了数字类。

if($(window).width() <= 1024) {  
     $('.steps a:not(".number")').text(''); 
} 

回答

1

删除文本,请尝试:

$("#form-3-t-0").contents() 
    .filter(function() { 
    return this.nodeType == 3; 
}).remove(); 

演示:: jsFiddle

+0

工作!谢谢:) –

+0

不客气... :) –

+0

@MarkusProctor你可以标记为接受的答案,如果它为你工作.. :) –

0
if($(window).width() <= 1024) {  
     var toBeAdded=$('.number'); 
     toBeAdded.appendTo($('.steps').text('')); 
} 
+0

也许增加一点点文字来解释这里发生了什么? – rene

0

试试这个:

var $form = $('#form-3-t-0'), 
$number = $('a').find('span.number'); 

    $form.html(''); 
    $form.append($number); 

这将创建一个变量,它会记住你想保留,删除ev并将数字返回到合适的位置。

http://codepen.io/anon/pen/bkanq