JavaScript到href麻烦

时间:2018-01-28 22:21:03

标签: javascript jquery hyperlink

基本上我想创建一个链接,从我服务器上的2个不同的txt文件中提取数据..让我们说#addr和#price

我希望我的链接看起来像..

"bitcoin:' + addr + '?amount=' + price"

示例...

bitcoin:1MgsAHrjke9r769sH5pZdWoC1CcYXZY6oT?amount=0.000456

我有这个代码拉动价格和地址..

<script>
$(document).ready(function(){
     $("#price").load('http://xxxxx.com/price.txt');


});
</script>


<script>
$(document).ready(function(){
     $("#addr").load('http://xxxxx.com/addr.txt');


});
</script>

编辑:在回答中使用工作代码:

最后我无法弄明白......如何获得...

"<a href='bitcoin:" + $("#addr").text() + "?amount=" + $("#price").text() + "'>TEXTHERE</a>";

只显示TEXTHERE所在的#addr数据..显然我在构建这些链接时非常糟糕。

代码似乎可以用来拉我正确的数据字符串..只是不知道如何建立一个工作链接!

有人帮忙吗?谢谢!

2 个答案:

答案 0 :(得分:2)

您只需将您放入元素中的值连接起来。但是,您必须等待两个 .load() 调用完成,然后才能使用它们所做的AJAX调用返回的值。为了确保在结果返回之前不执行操作,您将一个函数作为第二个参数传递给.load(),该函数应在调用完成时调用。在第一次调用之后,我们传递一个执行第二次调用的函数,然后传递一个完成操作的函数。

此外,不需要两个脚本和两个document.load回调。

$(document).ready(function(){

  // You need to wait for the .load calls to complete before you can use the results
  $("#price").load('http://xxxxx.com/price.txt', function(){
    $("#addr").load('http://xxxxx.com/addr.txt', function(){
  
      var link = 
       "<a href='bitcoin:" + $("#addr").text() + "?amount=" + $("#price").text() + "'>" + $("#addr").text() + "</a>";

       // And then append the link where you need it:
       $(document.body).append(link); 
       console.log($("a")[0].href);
 
    });
  });
     
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="price">67.54</div>
<div id="addr">123welkjwekj133131@#232</div>

但是,正如@ guest271314指出的那样,:bitcoin的{​​{1}}协议部分可能无法被客户端识别,因此您需要让浏览器知道它的含义以及如何使用它通过在我显示的代码之前调用navigator.registerProtocolHandler()

答案 1 :(得分:0)