标签: nodelist

CasperJS在NodeList中返回null元素

这是我正在运行的脚本:

//Require CasperJS
var casper = require('casper').create();

//Scraping Courserank
var base = "https://www.courserank.com";
var home = base + "/w/home";
var schools = base + "/w/schools?switchSchool=1";

//First, navigate to homepage and login
casper.start(home, function() {
    console.log('Logging in...');
    //Fill in the login form
    this.fill(
            'form[action="login"]', 
            { username : 'hatboysam@gmail.com', password : "****" },
            true
            );
});

function getSchools() {
    var arr = document.querySelectorAll('div.link');
    return arr;
}

//Go to the schools page
casper.then(function() {
    console.log(this.getCurrentUrl());
    //Open the school choice page
    casper.open(schools).then(function() {
        console.log(this.getCurrentUrl()); …
Run Code Online (Sandbox Code Playgroud)

javascript document nodelist casperjs

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

java.lang.ClassCastException,DeepNodeListImpl无法强制转换

这是我的代码:

 public void Login() {  
    try{
        DocumentBuilderFactory builderfactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = builderfactory.newDocumentBuilder();

        File path = new File("src/dataPengguna/dataPengguna.xml");

        Document doc = db.parse(path);

        Element pengguna = (Element) doc.getElementsByTagName("pengguna");

        NodeList list = pengguna.getElementsByTagName("user");

        for (int i = 0; i < list.getLength(); i++) {
            Element user =  (Element) list.item(i);
            Node username =   user.getElementsByTagName("username").item(i);
            Node password =   user.getElementsByTagName("password").item(i);

            if(loginuser.getText().equals(username.getTextContent()) 
               && loginpass.getText().equals(password.getTextContent())){ 
                JOptionPane.showMessageDialog(rootPane, "welcome");
            }
        }
    }catch(Exception e){
      e.printStackTrace();

    }
    }
Run Code Online (Sandbox Code Playgroud)

这是我的xml:

     <?xml version="1.0" encoding="UTF-8"?>
     <pengguna>

         <user>
         <nama>septian</nama>
         <username>septiansykes</username>
         <password>1234</password>
         <status>belumpinjam</status> 
         </user>    

         <user>
         <nama>koko</nama> …
Run Code Online (Sandbox Code Playgroud)

java xml nodelist classcastexception

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

在Java中将NodeList转换为String

我正在尝试将NodeList转换为String,因此我可以按照我想要的方式操作它,但我似乎无法在线找到答案.

我已经尝试将NodeList存储在Node数组中,但打印出的所有数据都将为null.

TextingXPath.java

import java.io.IOException;

public class TestingXPath {


static Node[] copy;
static int length;

public static void main(String[] args) throws SAXException, IOException,
        ParserConfigurationException {

    URL obj = new URL("http://jbossews-ashton.rhcloud.com/testXML.jsp");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();

    if (responseCode == 200) {

        DocumentBuilderFactory domFactory = DocumentBuilderFactory
                .newInstance();
        try {
            DocumentBuilder builder = domFactory.newDocumentBuilder();
            Document dDoc = builder.parse(con.getInputStream());

            XPath xPath = XPathFactory.newInstance().newXPath();

            Node node = (Node) xPath.evaluate(
                    "/HDB/Resident[@Name='Batman ']/Preference", dDoc,
                    XPathConstants.NODE);
            if (null != node) {
                NodeList nodeList …
Run Code Online (Sandbox Code Playgroud)

java xpath tostring nodelist

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

从nodeList按类名过滤对象

我有一个调用返回的对象的节点列表document.getElementsByClassName('a').其中一些对象有一个额外的类b.如何创建包含这两个类的元素数组?我没有使用b的全局搜索.我更喜欢vanillaJS/ES6代码.

HTML代码示例:

<div class ="a"></div>
<div class ="a"></div>
<div class ="a b"></div>
<div class ="a"></div>
<div class ="a b"></div>
<div class ="a"></div>
Run Code Online (Sandbox Code Playgroud)

javascript nodelist getelementsbyclassname

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

如何在Java中从XML读取带有等号的属性标记?

我正在通过Java解析XML文件,并且能够解析XML文件中的节点,如下所示:

<name><given>familyName</given></name>

通过使用如下所示的代码段之类的代码:

NodeList givenElmntLst = firstElement.getElementsByTagName("given");
Element givenNmElmnt = (Element) givenElmntLst.item(0);
NodeList fstNm = givenNmElmnt.getChildNodes();
String given = ((Node) fstNm.item(0)).getNodeValue();
Run Code Online (Sandbox Code Playgroud)

但我无法读取格式如下的属性:

<birthTime value="19230101"/>
Run Code Online (Sandbox Code Playgroud)

我应该如何以不同方式阅读上述值?提前致谢.

java xml nodelist

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

评估DOMXpath-> query的结果是否返回匹配

如何评估DOMTXpath-> query是否实际返回数据.现在我正在做($ xml是一个DOMXpath对象):

foreach($xml->query($xpath) as $node)
{
  echo $node->textContent;
}
Run Code Online (Sandbox Code Playgroud)

但如果我的$ xpath不会导致节点,它就不会输出任何数据.我尝试过类似的东西:

if ($xml->query($xpath))
{
echo "found";
}else{
echo "not found";
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.如何测试我的查询是否实际返回匹配的节点(在这种情况下实际上是一个属性)?

php nodelist domxpath

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

创建一个函数来获取像jquery这样的选择器和纯javascript

我厌倦了在简单的项目中包含jquery,但我已经习惯了它,我正试图打破自由形式对它的依赖.我正在尝试创建一个函数,它将获得类似于类和标记的选择器的相同感觉.示例:$('selector').innerHTML = ".something";.我一个接一个地循环遍历它们:

var classElements = document.querySelectorAll('.something');
for (var i = classElements.length - 1; i >= 0; i--) {
   classElements[i].innerHTML = "This Is A Div";
} 
Run Code Online (Sandbox Code Playgroud)

但我想创建一个函数,我可以循环选择器而不必为我想要找到的所有内容写出for循环.所以我可以像上面那样写它$('.something').innerHTML = "something";

到目前为止,这是我所拥有的,但它只会获得每个选择器的第一个,并且不会获得所有选择器.毋庸置疑,我非常困难,而且我对这个主题的阅读越多,我就越困惑.我想知道是否有人可以指出我正确的方向,我的想法有缺陷或解释jquery如何做到这一点.这是我的代码:

window.getElements = function(selector) {
    var selectors = document.querySelectorAll(selector);
    for (var i = selectors.length - 1; i >= 0; i--) {
        var elements = selectors[i];
    }
    return elements;
};

getElements(".something").innerHTML = "something";
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴小提琴

javascript loops nodelist

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

如何从html表单中获取多个复选框值

我知道我可以使用 jQuery(如何使用 jquery 获取多个复选框值来获取多个复选框值,但是我的复选框输入在 html 表单中,所以那些 jQuery 解决方案不起作用,因为它们都没有得到表单中的复选框值。

我尝试从表单中提取值,但它只是创建了一个奇怪的无线电节点列表,它似乎计算复选框名称出现在文档中的次数而不是值。

function validateForm() {
  var checks = document.forms["TestForm"]["ParticipantSelection[]"];
  alert(checks);

}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>

<form name="TestForm" action="Video1.php" method="post" onsubmit="return validateForm()">

  <table>

    <tr>
      <th><img name="<?php echo $valueindicator[0];?>" src="<?php echo $all_four_images[0];?>" height="100">
      </th>

      <th><img name="<?php echo $valueindicator[1];?>" src="<?php echo $all_four_images[1];?>" height="100">
      </th>
      <th><img name="<?php echo $valueindicator[2];?>" src="<?php echo $all_four_images[2];?>" height="100">
      </th>
    </tr>

    <tr>
      <th> <input type="checkbox" name="ParticipantSelection[]" value="image1">
      </th>

      <th><input type="checkbox" name="ParticipantSelection[]" value="image2">
      </th>

      <th><input type="checkbox" name="ParticipantSelection[]" value="image3">
      </th>
    </tr>


  </table>
  <input …
Run Code Online (Sandbox Code Playgroud)

html javascript forms checkbox nodelist

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

使用node.childNodes.forEach删除childNodes

传统上,在Javascript中删除节点子节点的建议方法是执行以下操作:

while(node.firstChild) {
    node.removeChild(node.firstChild);
}
Run Code Online (Sandbox Code Playgroud)

最近,我尝试使用内置的forEach()方法删除所有节点的子节点:

node.childNodes.forEach(child => {
    node.removeChild(child);
}
Run Code Online (Sandbox Code Playgroud)

这没有像我预期的那样发挥作用.forEach停止执行,而不是删除所有子节点,而是留下剩余的节点.我最终要做的是使用Array.from:

Array.from(node.childNodes)
Run Code Online (Sandbox Code Playgroud)

然后我可以用forEach删除节点.我不能使用上面提到的传统方法的原因是因为某些原因,一个孩子总是被遗忘,导致无限循环.

为什么childNodes.forEach方法没有像我想的那样删除所有节点?我有什么误会?

javascript dom nodelist ecmascript-6

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

使用javascript自动播放<video>元素

我在html中设置了一些包含autoplay选项的元素.我发现Chrome似乎并不特别愿意出于任何原因自动播放这些视频.我想添加一些javascript来设置视频加载后播放.我知道我需要在有问题的DOM元素上使用play()方法.

我正在使用:

  document.getElementsByTagName('video').play();
Run Code Online (Sandbox Code Playgroud)

此代码成功自动播放我的视频元素.但是,它也会在控制台中引发错误

未捕获的TypeError:对象#<NodeList>没有方法'play'

我之前没有遇到过这个错误,它正在停止我的其余javascript以便正确执行.关于这是什么以及如何解决它的任何想法?

谢谢!

javascript video nodelist playback autoplay

0
推荐指数
1
解决办法
8629
查看次数

元素innerHTML摆脱了事件监听器

我有一个向页面添加按钮的功能.

var count = 0;

function createOnclickFunction(number)
{
    return function()
    {
        alert("This is button number " + number);
    }
}

function addButton(data)
{
    var newbutton = "..." //creates string from data

    var element = document.getElementById("mydiv");
    var children = element.children;

    element.innerHTML = newbutton + element.innerHTML;

    var currentCount = count;
    children[0].onclick = createOnclickFunction(currentCount)

    count++;
}
Run Code Online (Sandbox Code Playgroud)

它基本上根据一些数据在html中创建一个按钮.

每次我添加一个按钮,我希望它被添加到div的开头#mydiv,并且由于newbutton也不是Element,但是a String,我必须修改innerHtml以将其添加到开头#mydiv.

之后,我必须通过获取第一个孩子来获取元素(添加onclick)#mydiv.

但是,在我的页面添加第二个按钮后,第一个按钮onclick不再有效.

如果我修改我的代码只添加一个按钮,一切正常.

现在,只需单击顶部按钮(最新添加的按钮)即可.

我怎样才能解决这个问题?

我也试过用element.firstChild而不是element.children[0].

在此先感谢大家!

编辑:

这是一个jsfiddle :(你可以看到唯一有效的按钮是stackoverflow …

html javascript onclick nodelist

0
推荐指数
1
解决办法
1551
查看次数