使用jquery设置di​​v标签的值


79

我定义了这个html div标签:

<div style="height:100px; width:100px" class="total-title">
    first text
</div>

我有jQuery代码来更改其值:

 $('div.total-title').html('test');

但这不会改变div的内容。


2
您到底在哪里执行该语句:$('div.total-title')。html('test'); ??
Niek H.

1
如果在DOM准备就绪后调用js代码,则代码绝对没有错。Farzad,正确回答。
simplyharsh

Answers:


154

如果您的值是纯文本(如“ test”),则也可以使用text()方法。像这样:

$('div.total-title').text('test');

无论如何,关于您正在共享的问题,我认为您可能在将DIV的HTML代码发送到浏览器之前调用了JavaScript代码。确保在<div>之后的<script>标记中或在类似这样的语句中调用jQuery行:

$(document).ready(
    function() {
        $('div.total-title').text('test');
    }
);

这样,脚本将在浏览器解析div的HTML之后执行。


3
当我把它像div.total-value一样时,它不起作用。但是在使它成为#total-value之后,它就起作用了
Nipuna

为什么需要围绕一个匿名函数对其进行说唱?没有它会起作用吗?
Nahser Bakht

因为如果尚未完成加载页面尚未建立,那么如果仅将原始代码放在<head>的顶层,则div可能甚至不存在。
DragonLord

需要准备功能或匿名功能来延迟评估。在这种冗余的情况下,我认为代码是多余的,但是它鼓励剪切和粘贴软件的维护人员避免以后犯错。
DragonLord

是的,我认为应该是$('#div.total-title').text('test');
hynsey

9

要输入文字,请使用 .text('text')

如果要使用.html(SomeValue),SomeValue应该具有可以位于div内的html标签,它也必须起作用。

正如farzad所说,只需检查您的脚本位置。

参考:.html文本



4

您已经引用了jQuery JS文件吗?没有理由不解释farzad的答案。


0

使用该.html()方法时,htmlString必须为参数。()将您的字符串放在HTML标记中,它应该可以.text()按照farzad的建议工作或使用。

例:

<div class="demo-container">
    <div class="demo-box">Demonstration Box</div>
</div>

<script type="text/javascript">
$("div.demo-container").html( "<p>All new content. <em>You bet!</em></p>" );
</script>

0

用途如下:

<div id="getSessionStorage"></div>

为此,请使用以下代码作为参考:

$(document).ready(function () {
        var storageVal = sessionStorage.getItem("UserName");
        alert(storageVal);
        $("#getSessionStorage").append(storageVal);
     });

这将在html中显示如下(假设storageVal =“ Rishabh”)

<div id="getSessionStorage">Rishabh</div>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.