获取没有隐藏span标记文本的标题文本

时间:2016-03-09 05:53:21

标签: jquery html

以下是一个示例表:

<table id="table">
<caption>
  My Table <span style="display:none"> Hidden </span>
</caption>
<tr>
    <th>abc</th>
    <th>xyz</th>
</tr>
</table>


$(function(){ 
 CaptionText = $('#table').find('caption').text();
 alert(CaptionText);
});

如何避免隐藏的span标记文本.. 小提琴在这里:

https://jsfiddle.net/y39e483q/1/

7 个答案:

答案 0 :(得分:0)

text()方法也会返回所有后代元素的文本内容。

一种解决方案是使用手动过滤器来省略隐藏元素

$(function() {
  var myTable = $('#table');
  var myCaptionText = myTable.find('caption').contents().filter(function() {
    return !$(this).is(':hidden')
  }).text();
  snippet.log('caption: ' + myCaptionText);
});
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table">
  <caption>
    My Table <span style="display:none"> Hidden </span>
  </caption>
  <tr>
    <th>abc</th>
    <th>xyz</th>
  </tr>
</table>

答案 1 :(得分:0)

简单使用clone,然后remove the span并获取text

$('#table').find('caption').clone().remove('span').text().trim()

答案 2 :(得分:0)

试试这个jquery代码   JSFiddle

  ($('#table caption').text()).replace($('span').text(),'')

答案 3 :(得分:0)

试试这个:

file_put_contents(base_path().'/public/images/uploads/'.$fileName.'_thumbnail.'.$extension, $image);

这将忽略标题内的span标记。你可以像这样简化它。

$(function(){ 
 myTable = $('#table');
 myCaptionText = myTable.find('caption').html();
 var substr = myCaptionText.split('<span');
 alert(substr[0]);
});

答案 4 :(得分:0)

你可以像下面那样写下

$(function(){ 
     myTable = $('#table');
     myCaptionText = myTable.find('caption').html().split('<span');
     alert(myCaptionText[0]);
    });

答案 5 :(得分:0)

这就是我要做的事情:

ICMP,stuff hi, ab

Here is the JSFiddle demo

基本上,代码在$(function() { myTable = $('#table'); myCaptionText = myTable.find("caption").text().replace($("table caption").find(":not(:visible)").text(), "") alert(myCaptionText); }); 中找到隐藏元素,并在最终文本中将其文本替换为空白。

答案 6 :(得分:0)

app.config(['$stateProvider','$urlRouterProvider',

............................................

HTML

**Try the answer below :** 

https://jsfiddle.net/myeo3a4r/2/

JAVASCRIPT

     <table id="containerDiv">
  <caption>You know, <span style="display:none"> I am inv<p>incible!</span>   </caption>
    <tr>
      <th>Month</th>
     <th>Savings</th>
        </tr>
       <tr>
        <td>January</td>
       <td>$100</td>
     </tr>
  </table>