Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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_Javascript - Fatal编程技术网

访问文本标签值Javascript

访问文本标签值Javascript,javascript,Javascript,目前,我有一段java脚本,它制作了一个单元格表,其中每个单元格都有一个编号的有序列表、一个标签和一个文本框。下面是这段代码的一个片段: <table id="drawAllQuestionsTbl"> <tbody><tr><td class="tbl"> <ol start="1"> <li>Sport 1:&nbsp;<input type="text" name="tq_g_0_guess" size=

目前,我有一段java脚本,它制作了一个单元格表,其中每个单元格都有一个编号的有序列表、一个标签和一个文本框。下面是这段代码的一个片段:

<table id="drawAllQuestionsTbl">
<tbody><tr><td class="tbl">
<ol start="1">
<li>Sport 1:&nbsp;<input type="text" name="tq_g_0_guess" size="15"></li></ol></td></tr><tr><td class="tbl">

  • 运动1:

  • 为了简单起见,我剪了很多多余的东西。实际上,这个表中充满了这个单元格的大约10个副本,每个单元格都有一个带有标签和文本框的有序列表。例如,对于这个有序列表中的文本框,我可以使用
    document.getElementsByName(“tq\u g\u 0\u guess”)
    成功访问它的值。但是,我的问题是如何获取此文本框旁边的标签“Sport 1”的值。有什么想法吗?

    下面将为您提供
    li
    节点的文本。这将是
    Sport 1:

    var elParent = document.getElementsByName("tq_g_0_guess")[0].parentNode;
    var labelText = elParent.innerText;
    console.log(labelText); // Sport 1: 
    
    您可以利用
    labelText
    进一步格式化文本以获得所需的结果

    如果您只需要
    Sport 1
    ,则可以将所有内容子串到冒号

    labelText.substr(0, labelText.indexOf(':'));
    

    下面将为您提供
    li
    节点的文本。这将是
    Sport 1:

    var elParent = document.getElementsByName("tq_g_0_guess")[0].parentNode;
    var labelText = elParent.innerText;
    console.log(labelText); // Sport 1: 
    
    您可以利用
    labelText
    进一步格式化文本以获得所需的结果

    如果您只需要
    Sport 1
    ,则可以将所有内容子串到冒号

    labelText.substr(0, labelText.indexOf(':'));
    
    那么:

    document.getElementsByName("tq_g_0_guess")[0].parentNode.innerText
    
    那么:

    document.getElementsByName("tq_g_0_guess")[0].parentNode.innerText
    
    使用JavaScript编写:

    var child = document.getElementsByName("tq_g_0_guess")[0]; // ok, must add a [0] after this.
    var preTextNode = child.previousSibling;
    var textContent = preTextNode.textContent; // this is the text you want.
    
    使用JavaScript编写:

    var child = document.getElementsByName("tq_g_0_guess")[0]; // ok, must add a [0] after this.
    var preTextNode = child.previousSibling;
    var textContent = preTextNode.textContent; // this is the text you want.
    

    您可以控制输出的HTML吗?如果它是在一个实际的
    标签中
    标签,那么它会容易得多。我希望如此,但不幸的是我没有。我正在尝试从网页上删除这些内容。你关心什么版本的IE?我使用的是Chrome。你能控制输出的HTML吗?如果它是在一个实际的
    标签中
    标签,那么它会容易得多。我希望如此,但不幸的是我没有。我正在尝试从网页上删除此内容。您关心哪些版本的IE?我使用的是Chrome。这不起作用
    child
    返回节点列表。因此,您必须以该节点列表中的某个项目为目标。谢谢,我很少使用getElementsByName,所以我将其作为getElementById。是的,它不再经常使用了。但是,通常方法名会提示返回值
    getElement…
    vs
    getElements…
    querySelector
    vs
    querySelectorAll
    yes。一旦我知道如何使用querySelector&querySelectorAll来处理DOM元素,我就转向了querySelector&querySelectorAll。它们的行为更像jQuery(“选择器”)。这不起作用
    child
    返回节点列表。因此,您必须以该节点列表中的某个项目为目标。谢谢,我很少使用getElementsByName,所以我将其作为getElementById。是的,它不再经常使用了。但是,通常方法名会提示返回值
    getElement…
    vs
    getElements…
    querySelector
    vs
    querySelectorAll
    yes。一旦我知道如何使用querySelector&querySelectorAll来处理DOM元素,我就转向了querySelector&querySelectorAll。它们的行为更像jQuery(“选择器”)。谢谢您的回答!谢谢你的回答!