我试图将我的标签附加到我的li标签上,但它似乎没有起作用?

时间:2018-05-08 01:57:57

标签: javascript node.js

我试图将我的标签附加到我的li标签,然后将该li添加到消息ID中,但由于某种原因,它似乎无法正常工作。

当我将message.url附加到#messages时,它会很好地打印到屏幕上,但是当我将var a附加到屏幕时它不会显示出来。我不太确定发生了什么,我已经尝试过我能想到的一切。

socket.on('newLocationMessage', function (message) {
    var li = $('<li></li>');
    var a = $('<a target="_blank"><My current location</a>');

    li.text(`${message.from}: `);
    a.attr('href', message.url);

    li.append(a);
    $('#messages').append(li);
});

2 个答案:

答案 0 :(得分:0)

这是一种在没有 .text .attr 的情况下解决问题的简单方法。 如果您可以在此处提供示例代码(HTML),那将会很有帮助。

// find elements
var button = $("button");

// handle event like newLocationMessage event
button.on("click", function() {
  //replace your data
  let message = {
    url: "https://google.com",
    from: "Google"
  };
  var li = $('<li><a target="_blank" href="' + message.url + '">' + message.from + '</a></li>');
  $('#messages').append(li);

})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul id="messages"></ul>
<button>
trigger
</button>

答案 1 :(得分:0)

它有一个额外的&lt;在我当前的位置旁边!

socket.on('newLocationMessage', function (message) {
    var li = $('<li></li>');
    var a = $('<a target="_blank"><My current location</a>');

    li.text(`${message.from}: `);
    a.attr('href', message.url);

    li.append(a);
    $('#messages').append(li);
});