简体   繁体   English

将对象的值插入span标记

[英]Insert value of object into span tag

I have an object: 我有一个对象:

message: {
    text: Here is some text
}

I want to insert it into a span tag like this: 我想将它插入到这样的span标签中:

<span>message.text</span>

This won't print 'Here is some text', instead it will just show 'message.text' on the webpage. 这不会打印“这是一些文字”,而是只在网页上显示“message.text”。 How can I get it to show the actual contents of the object? 如何让它显示对象的实际内容?

Give something id to span 给一些id来跨越

<span id="span"></span>
$("#span").text(message.text);

With Plain JavaScript: 使用Plain JavaScript:

document.getElementsByClassName('text-holder')[0].textContent = message.text;

 var message = { text: 'Here is some text' }; document.getElementsByClassName('text-holder')[0].textContent = message.text; 
 <span class="text-holder"></span> 

With jQuery: 使用jQuery:

 var message = { text: 'Here is some text' }; $('.text-holder').text(message.text); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <span class="text-holder"></span> 

With AngularJS: 使用AngularJS:

 var app = angular.module('myApp', []); app.controller('myController', function($scope) { $scope.message = { text: 'Here is some text' }; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="myApp"> <div ng-controller="myController"> <span>{{message.text}}</span> </div> </div> 

A simple solution using vanilla js (strictly since you didnt use the jquery tag in your question) with working snippet: 一个简单的解决方案使用vanilla js(严格来说,因为你没有在你的问题中使用jquery标签)和工作片段:

 function doAction() { var messageObj = { text: "Here is some text" } document.getElementsByTagName('span')[0].innerText = messageObj.text; } 
 <span>PLACEHOLDER</span> <button onclick="doAction()">do</button> 

You can do it with using tag name. 您可以使用标记名称来完成。

document.getElementsByTagName('span').textContent(message.text);

OR can assign some class or id to the span 或者可以为span指定一些类或id

<span id="my_id"></span>

document.getElementById('my_id').textContent(message.text);


<span class="my_id"></span>

document.getElementsByClassName('my_id')[0].textContent(message.text);

Using jQuery,you can do like this 使用jQuery,你可以这样做

$(".my_id").text(message.text)

OR

$("#my_id").text(message.text)

If you're using plain HTML and vanilla JavaScript, then why should something else but message.text appear within the span tags. 如果你使用普通的HTML和vanilla JavaScript,那么为什么除了message.text应该在span标签中出现。

Using just plain JavaScript you could do something like: 使用纯JavaScript,您可以执行以下操作:

var message = {
    text: "Here is some text"
};
var spans = document.getElementsByTagName('span');
var el = spans[0];
el.innerText = message.text;

Here is a JSFiddle: 这是一个JSFiddle:

https://jsfiddle.net/k1q9jo5n/ https://jsfiddle.net/k1q9jo5n/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM