使用Javascript将值存储在变量中

时间:2016-09-14 09:49:52

标签: javascript jquery

我是一个JS新手所以要温柔。

我正在开发一个简单的脚本,该脚本从我本地Intranet上的另一个网页读取值。

Intranet主页(index.php):

<div id="username">my.username</div>

的script.js:

$(document.body).load('http://intranet/index.php #username');

现在,我想知道,如何只显示此值,如何将其存储在变量中?

1 个答案:

答案 0 :(得分:3)

您希望使用ajax查询它,然后解析该HTML,然后在解析的HTML中找到该元素并提取其文本:

$.ajax({
    url: 'http://intranet/index.php',
    success: function(html) {
        var nodes = $.parseHTML(html);
        var username = $("<div>").append(nodes).find("#username").text();
        console.log(username);
    }
});

以下是使用静态HTML字符串的解析/查找部分的示例:

&#13;
&#13;
var html = '<html><body><div>foo<div id="username">my.username</div></div></body></html>';
var nodes = $.parseHTML(html);
var username = $("<div>").append(nodes).find("#username").text();
console.log(username);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

或没有包装div

&#13;
&#13;
// Test finding it nested
test('<html><body><div>foo<div id="username">my.username</div></div></body></html>');

// Test finding it top-level
test('<div>foo</div><div id="username">my.username</div><div>bar</div>');

function test(html) {
  var username = null;
  $.parseHTML(html).some(function(node) {
    if (node.id === "username") {
      username = $(node).text();
      return true;
    }
    node = $(node).find("#username");
    if (node[0]) {
      username = node.text();
      return true;
    }
  });
  console.log(username);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

您可以看到我使用包装器div的原因。 : - )