Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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 如何在HTML中检索某个字段值_Javascript_Java_Html - Fatal编程技术网

Javascript 如何在HTML中检索某个字段值

Javascript 如何在HTML中检索某个字段值,javascript,java,html,Javascript,Java,Html,我对HTML不是很熟悉,也不知道如何操作它,我有以下几点: <td class="FieldName">Ingredients:</td><td>Biotin - 0.25mg, Calcium (phosphate, pantothenate) - 100mg, Copper (sulfate) - 1mg, Dexpanthenol - 10mg, Folic acid - 1mg, Iron (carbonate, sulfate, elemen

我对HTML不是很熟悉,也不知道如何操作它,我有以下几点:

<td class="FieldName">Ingredients:</td><td>Biotin
  - 0.25mg, Calcium (phosphate, pantothenate) - 100mg, Copper (sulfate) -
 1mg, Dexpanthenol - 10mg, Folic acid - 1mg, Iron (carbonate, sulfate, 
elemental) - 10mg, Magnesium (phosphate, stearate, oxide) - 5mg, 
Manganese (sulfate) - 0.5mg, Molybdenum (molybdate) - 0.1mg, 
Nicotinamide - 50mg, Phosphorus (phosphate - 84mg, Vitamin A - 3333IU, 
Vitamin B1 - 20mg, Vitamin B2 - 5mg, Vitamin B6 - 10mg, Vitamin C - 
150mg , Vitamin D2 - 1000IU, Vitamin E, - 10mg, Vitamine B12 - 5mcg, 
Zinc (sulfate) - 0.5mg</td>
成分:生物素
-0.25mg,钙(磷酸盐,泛酸盐)-100mg,铜(硫酸盐)-
1mg,右旋泛酚-10mg,叶酸-1mg,铁(碳酸盐,硫酸盐,
元素)-10mg,镁(磷酸盐、硬脂酸盐、氧化物)-5mg,
锰(硫酸盐)-0.5mg,钼(钼酸盐)-0.1mg,
烟酰胺-50mg,磷(磷酸盐-84mg,维生素A-3333IU,
维生素B1-20mg,维生素B2-5mg,维生素B6-10mg,维生素C-
150mg,维生素D2-1000IU,维生素E,-10mg,维生素B12-5mcg,
硫酸锌-0.5mg
我想检索与“配料:”相关联的值,那么我如何实现它呢?

您可以将id放入元素like,然后使用下面的代码使用javascript获取值:-

var ingredientVal = (document.getElementById("Ingredients")).innerHTML;

您将需要使用jsoup库

public void getData() throws IOException {
    Document doc = Jsoup.parse(new File("path/to/html/file"), "UTF-8"); //You can parse a url also instead of file

    String text = "";
    Elements e = doc.select("td.FieldName + td");
    for (Element temp : e) {            
        text = temp.text();
        System.out.println(text);
    }
}

可以使用XPath在html中检索信息。 XPath是(可能)javascript语言,它在HTML中接受对象,然后您可以读/写数据。 您可以简单地使用浏览器控制台(在chrome[CTRL+F12]或[右键单击页面->检查元素->控制台选项卡]中)进行尝试

您可以在这里学到很多(这是语法部分,您可以浏览该部分):

如果要在页面中尝试,请尝试:“$x(//td[@class='FieldName']]/text()”


快速参考:

$x(“”;::Chrome和FF支持的执行XPath的方法(您可以在线找到适合您的编程语言的正确方法)

//::表示“在页面或您所在的子页面中搜索”

td::表示“返回所有td标签”

[@class='FieldName']::表示“按类过滤”(也可以按id、名称等过滤)

/::表示“进入对象并做其他事情。”(在本例中,我检索文本,但您可以深入结构,如“/td/div/td[@class…]”/td等等)

text():检索文本

希望这有帮助, Andrea.

使用以下代码:-

var maintd = document.getElementsByClassName("FieldName");
var childtd = maintd.getElementsByTagName('td')[0];

您可能需要检索包含所有HTML无法自行操作的
标记的
标记…是否要使用javascript进行操作?如果需要javascript解决方案,请更改标记…如果有更多的数据行,并且OP无法更改HTML结构,该怎么办?但是,仍然不确定这是否正确s java或javascript问题…:)