jQuery:从noscript标签中提取文本

时间:2012-08-19 07:33:12

标签: jquery

我有这个标记:

<div id="child1">
    <noscript>
        <h1>heading of Tab 1</h1>
    </noscript>
    <p>lorem Ipsum</p>
</div>

我正在尝试提取有关h1标记内noscript标记的信息:

var noscript_tag = $(this).find('noscript');
var h1_tag = $(noscript_tag[0]).find('h1');
console.log($(h1_tag[0]));

但是我得到了以下输出:

[]

任何想法?

3 个答案:

答案 0 :(得分:1)

使用noscript内部文本创建DOM元素(在本例中为h1)并获取所需的文本。像这样:

$($("noscript").text()).filter("h1").text();​

答案 1 :(得分:0)

$('noscript').text()

适用于Chrome

答案 2 :(得分:0)

尝试以下

<script>
function getVal() {
var nos = document.getElementsByTagName("noscript")[0]; 

var nosHtml = nos.textContent||nos.innerHTML; 

if ( nosHtml )
{
  var temp = document.createElement("h1");
  temp.innerHTML = nosHtml;

  document.body.appendChild(temp);
  var ex = document.getElementById("header");
  document.body.removeChild(temp);

  alert(ex.innerHTML);
}
}
</script>
<body onload="getVal();">
<div id="child1">
                <noscript>
                    <h1 id="header">heading of Tab 1</h1>
                </noscript>
                <p>lorem Ipsum</p>
</div>
<input type="button" onclick="getVal();" value="Get" />
</body>