标签: innertext

为什么 textContent 不会触发回流

我在 MDN 上查看了 textContent 和 insideText 之间的区别。它向我展示了一些让我很困惑的东西。

1.innerText 能够识别样式,并且不会返回隐藏元素的文本,而 textContent 会。(没问题,完全理解)

2.由于innerText能够识别CSS样式,因此它将触发回流,而textContent则不会。(为什么?)

css reflow innertext

6
推荐指数
1
解决办法
1304
查看次数

替换打开的 xml 元素中的内部文本?

我正在使用 open xml SDK 2.0,对此我很陌生。

我实际上在我的 word 2007 文档中创建了一个名为“hello.docx”的快速部分(包含内容控件)。现在我需要将快速部分复制到名为“hello.docx”的同一文档的其他位置。我非常感谢这篇文章http://www.techques.com/question/1-3448297/Replacing-Content-Controls-in-OpenXML,同样的事情也发布在堆栈溢出论坛上,我非常感谢: )...这篇文章只是删除了内容控件,但保留了内容控件中的内容。

在上面的链接的帮助下,我能够修改代码以克隆内容控件并附加到同一文档(我的代码的这一部分正在工作)。但我的内部文本有问题。虽然我替换了打开的 Xml 元素中的innerText,但它没有反映在文档中。

public static void AddingSdtBlock(string filename, string sdtBlockTag)
{
    using (WordprocessingDocument doc = WordprocessingDocument.Open(filename,true))
    {
        MainDocumentPart mainDocumentPart = doc.MainDocumentPart;
        List<SdtBlock> sdtList = mainDocumentPart.Document.Descendants<SdtBlock>().ToList();
        SdtBlock sdtA = null;

        foreach (SdtBlock sdt in sdtList)
        {
            if (sdt.SdtProperties.GetFirstChild<Tag>().Val.Value == sdtBlockTag)
            {
                sdtA = sdt;
                break;
            }
        }
        SdtBlock cloneSdkt = (SdtBlock)sdtA.Clone();



        OpenXmlElement sdtc = cloneSdkt.GetFirstChild<SdtContentBlock>();
      //  OpenXmlElement parent = cloneSdkt.Parent;

        OpenXmlElementList elements = cloneSdkt.ChildElements;

       // var mySdtc = new …
Run Code Online (Sandbox Code Playgroud)

controls openxml innertext openxml-sdk

5
推荐指数
1
解决办法
2万
查看次数

mshtml.HTMLTableCell具有不正确的innerText值

当我尝试解析HTMLTableCellinnerText值是不正确的,似乎我得到的是类名而不是文本.

现在奇怪的是,当我在调试中查看单元格(在VS2010中)时,我看到正确的值我做错了什么?

进一步的研究提出了这个问题,当我查看VS2010中的值时,看起来这个 cell.innerText"中心时间"((mshtml.HTMLTableCellClass)(单元格)).innerText"23:45".问题是,当我转换为mshtml.HTMLTableCellClass时它不会编译,所以我必须使用接口(为什么会这样?)

见下面的代码:

mshtml.HTMLDocument doc = MainBrowser.Document as mshtml.HTMLDocument;

if (doc != null)
{

    mshtml.HTMLTable table = doc.getElementById("ecEventsTable") as mshtml.HTMLTable;

    List<List<string>> textRows = new List<List<string>>();

    foreach (mshtml.HTMLTableRow row in table.rows)
    {
        if (row != null && row.id != null && row.id.Contains("eventRowId"))
        {
            List<string> temp = new List<string>();

            foreach (mshtml.HTMLTableCell cell in row.cells)
            {
                string text = cell.innerText;
                if (text != null && text != "" && text …
Run Code Online (Sandbox Code Playgroud)

html c# mshtml innertext

5
推荐指数
1
解决办法
2458
查看次数

如果 div innerText 更改,则触发 JavaScript 事件

我想在 div 的 innerText 更改时发出警报:

myDiv.addEventListener("change", function() {
    if (myDiv.innerText != "some text")
        alert('innerText has changed.');
},false);
Run Code Online (Sandbox Code Playgroud)

没有用,请帮忙。

javascript addeventlistener innertext

5
推荐指数
3
解决办法
1万
查看次数

如何仅将CSS样式应用于文本

我正在尝试将样式应用于HTML文本.我想要的基本上是:

我想得到什么

我得到的基本上是:

我真正得到的

如您所见,第一行是缩进的,但不是任何其他行.到目前为止,我有一个内部的文本<span>,它嵌套在一个内部<div>.

.slide-text .text {
  background-color: rgba(0, 0, 0, .6);
  color: #FFF;
  padding: 8px 17px;
}
.slide-text .slide-title {
  font-family: "Titillium Web", Arial, Helvetica, sans-serif;
  font-weight: 700;
}
.slide-text .slide-content {
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-weight: 500;
}
Run Code Online (Sandbox Code Playgroud)
My HTML code is:
<div class="slide-text">
  <div class="slide-title"><span class="text">[TITLE]</span>
  </div>
  <div class="slide-content"><span class="text">[TEXT]</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

只要标题或内容都不超过一行,它们就能很好地工作.一旦它们越过两条或更多条线,跨度就会失去其内部衬垫.更改内部跨度,display: inline-block;一旦进入两行,就会显示一个块.有没有办法获得我想要的效果?

html css innertext

5
推荐指数
1
解决办法
7452
查看次数

Chrome中的document.getElementById().innerText

Quick Cross Browser JS问题,在设置文本框的值时:

document.getElementById("balanceText").innerText = "111";
Run Code Online (Sandbox Code Playgroud)

document.getElementById("balanceText").value = "111";
Run Code Online (Sandbox Code Playgroud)

两者都在IE中工作,

但它们不适用于Chrome,FF,Opera或Safari.

是否有一种替代方法可以在这些浏览器中使用?

javascript google-chrome getelementbyid innertext

4
推荐指数
1
解决办法
3万
查看次数

如何从webBrowser控件中的当前选定选项中获取innerText

我需要innerText从webBrowser控件中的当前选定选项中选择.

这是html的表示:

<SELECT ID="F8">
<OPTION VALUE="option1">option1</OPTION>
<OPTION VALUE="option2" selected>option2</OPTION>
<OPTION VALUE="option3">option3</OPTION>
</SELECT>
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试的:

if (webBrowser1.Document.GetElementById("F8") != null)
{
    HtmlElement selectF8 = webBrowser1.Document.GetElementById("F8");
    foreach (HtmlElement item in selectF8.Children ) 
    {
        if (item.GetAttribute("selected") != null)
        {
            assigneeText.Text = item.InnerText;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

...但它完全忽略if语句并始终指定assigneeText.Textoption3而不是所选值option2.

有人可以告诉我我做错了什么吗?

html c# webbrowser-control innertext

4
推荐指数
1
解决办法
5559
查看次数

document.querySelectorAll一次性获取所有选定元素的innerText纯javascript

我想得到一个非常长的html表(随机长度)的整列的所有innerText.我正在使用此代码:

var tbEls = document.querySelectorAll('#tBodyID tr td:nth-child(cidx)');
Run Code Online (Sandbox Code Playgroud)

其中cidx =列索引我想从中提取内容.

但是这样的代码提取了所有的td元素(当然在其中包含innerText).但它并没有直接提取其中的所有innerText.因此我必须使用for循环重新处理返回的tdEls数组,以从每个tbEls [i]元素中提取其自己的innerText.它有效但......

我的问题是:

在纯JS(没有外部库或框架)中,可以使用更直接的方法改进某种方式,只有 querySelectorAll参数一次性('#tBodyID tr td:nth-child(cidx)')直接获取所有td元素innerText并且只需一个javascript语句而无需重新处理带有for循环或其他任何东西的返回数组?

换句话说,是否有某种innerText选择器可以用来一次性获取它们而不需要任何额外的循环?

如果老浏览器无法识别它就没问题,我很抱歉.

我希望实现的是:

var arrTblColInnerText = document.querySelectorAll('#tBodyID tr td:nth-child(cidx):alltd:innerText');
Run Code Online (Sandbox Code Playgroud)

我想得到一个类似于的数组:

0: value from column cidx cell 0
1: value from column cidx cell 1
2: value from column cidx cell 2
3: value from column cidx cell 3
...
n: value from column cidx cell n
Run Code Online (Sandbox Code Playgroud)

提前致谢.

elements innertext selectors-api

4
推荐指数
2
解决办法
2243
查看次数

检索隐藏元素的innerText

我正在尝试获取元素,innerText但Chrome返回一个空字符串,因为我的元素是隐藏的.

Firefox没有.

innerText即使元素不可见,有没有办法在Chrome中检索?

console.log(document.querySelector('div').innerText + ':' + document.querySelector('div').innerHTML);
Run Code Online (Sandbox Code Playgroud)
div {
  height: 0;
  overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
<div>
Hello, I'm <strong>empty!</strong>
</div>
Run Code Online (Sandbox Code Playgroud)

老实说,我真的很惊讶Chrome的表现如此,这是一个错误吗?

https://jsfiddle.net/r8q2znc4/

javascript innertext

4
推荐指数
1
解决办法
2442
查看次数

获取两个标签之间的文本 - VB.NET - HtmlAgilityPack

我正在使用HtmlAgilityPack,我想获取两个特定标签之间的内部文本,例如:

<a name="a"></a>Sample Text<br>
Run Code Online (Sandbox Code Playgroud)

我想获得</a><br>标签之间的innertext :示例文本

我该怎么做?

TIA ...

html vb.net innertext html-agility-pack

3
推荐指数
1
解决办法
4102
查看次数