Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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 获取<;h1>;将其转换为文本并设置为页面标题_Javascript_Jquery - Fatal编程技术网

Javascript 获取<;h1>;将其转换为文本并设置为页面标题

Javascript 获取<;h1>;将其转换为文本并设置为页面标题,javascript,jquery,Javascript,Jquery,我得到了h1元素的以下结构 <h1> <a href="#">My Text</a> <span>More Text</span> another text <a href="#">and a bit more</a> </h1> 更多文本另一个文本 如何从此类h1中获取内容并将其转换为文本,以便输出为“我的文本更多文本另一个文本更多” 然后将其放入页面的?因此,没有链接、跨距等。。只是文本?v

我得到了
h1
元素的以下结构

<h1>
<a href="#">My Text</a> <span>More Text</span> another text <a href="#">and a bit more</a>
</h1>

更多文本另一个文本
如何从此类
h1
中获取内容并将其转换为文本,以便输出为
“我的文本更多文本另一个文本更多”

然后将其放入页面的
?因此,没有链接、跨距等。。只是文本?

var h1content=document.getElementById(“h1”).innerHTML;
var h1content = document.getElementById("h1").innerHTML;
// stripped string taken from http://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/
var newTitle = h1content.replace(/(<([^>]+)>)/ig,"");
document.title = newTitle;
//从……上取下的剥线http://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/ var newTitle=h1content.replace(/(]+)>)/ig,“”; document.title=newTitle;
需要注意的是,爬虫程序不遵循Javascript代码,这意味着尽管这会更改页面标题,但不会对搜索引擎进行优化。

使用jQuery,它只是:

$('title').text($('h1').text());

在没有jQuery的情况下,您可以访问
textContent
属性(旧IE中的
innerText
),并且您可以更改
文档.title
(如修改
)。下面是一个例子:

var text = "textContent" in document.body ? "textContent" : "innerText";
document.title = document.getElementsByTagName("h1")[0][text];
根据您希望如何定位
,您可以更改
文档.getElementsByTagName(“h1”)[0]

另外,我不确定它对
标题的影响,但是第一个
前面的空格

当然,仅使用jQuery就简单多了:

var el = $("h1").eq(0),
    text = el.text();
document.title = $.trim(text);
演示:

参考文献:

  • 文档标题
  • .textContent

var text=“textContent”是否在文档中?“文本内容”:“内部文本”;document.title=document.getElementsByTagName(“h1”)[0][text]@Ian 40希望这是一个答案。这是一个虚拟的+1@伊恩,你想把这个作为一个答案,这样我就可以接受了吗?简单的解决方案,但一般来说。这不是假设
标签的ID为“h1”吗?这应该是答案。
var el = $("h1").eq(0),
    text = el.text();
document.title = $.trim(text);