如何使用JS取出标签中的文本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用JS取出标签中的文本相关的知识,希望对你有一定的参考价值。
首先,只能取出inline的JS内容,如果脚本是通过 src 加载进来的,这个是没办法取出的。对于 inline 的 JS 内容,高端浏览器使用 textContent ,IE6/7/8 使用 innerText。下面是例子:
<script id="s1">alert(1);</script>
var script = document.getElementById( 's1' );
var text = script.textContent || script.innerText;
console.log( text ); // output alert(1); 参考技术A var element = document.getElementById('id_name');
var eleText = element.innerText; // 这个就是标签里面的文本
如何使用 d3 js 在 SVG 中正确使用 Use 标签?
【中文标题】如何使用 d3 js 在 SVG 中正确使用 Use 标签?【英文标题】:How to properly use the Use tag in SVG with d3 js? 【发布时间】:2019-07-25 02:36:55 【问题描述】:我知道 d3 根据调用的顺序渲染元素。因此,如果我想在黑色矩形上渲染白色文本,我可以先调用 rect,然后再调用白色文本。
但是,在我的特殊情况下,我的矩形尺寸基于我的白色文本,所以我必须先调用白色文本。
我发现一个解决方法是使用 use 标签,但我无法让它工作,这是我目前的尝试:
正文:
var textToolTip = gToolTip
.append("text")
.attr("id", "toUse")
.text(.....)...
使用标签:
var useText = gToolTip.append("use").attr("xlink:xlink:href", "#toUse");
我也尝试过给 textToolTip xlink:href 但它没有用。对于使用标签,我尝试使用 xlink:href 而不是 xlink:xlink:href,但它不起作用。因为我找到了这个答案,所以我正在使用双 xlink:How do I define an SVG doc under <defs>, and reuse with the <use> tag?
【问题讨论】:
为什么不这样做呢? ***.com/questions/15500894/… 【参考方案1】:如果我的理解正确,附加矩形会更简单,附加文本,然后根据文本调整矩形大小:
<!DOCTYPE html>
<html>
<head>
<script src="https://d3js.org/d3.v5.min.js"></script>
</head>
<body>
<svg ></svg>
<script>
var svg = d3.select('svg');
var rect = svg.append("rect")
.style("fill", "black")
.attr("x", 20)
.attr("y", 20);
var text = svg.append("text")
.text("Now is the time for all good men to come to the aid of their country")
.attr("x", 20)
.attr("y", 20)
.attr("alignment-baseline","hanging")
.style("fill","steelblue")
.style("font-family", "arial")
.style("font-size", "14pt")
var bbox = text.node().getBBox();
rect.attr("width", bbox.width);
rect.attr("height", bbox.height);
</script>
</body>
</html>
【讨论】:
以上是关于如何使用JS取出标签中的文本的主要内容,如果未能解决你的问题,请参考以下文章
Cytoscape js在节点上单击时如何获取所有边缘(文本标签)
如何将 HTML 标签转换为 WordDoc 文本格式?使用 DOCX.js 库