如何在jquery中更改div String的值

时间:2015-03-16 05:39:23

标签: jquery

对于你们所有人来说,这可能是一个简单的问题。但是我正在工作时间而且没有得到正确的答案。

我有像

这样的代码
var ss = "<div class='GridCellDiv' style='width: 68px;'>1000</div>";  
console.log(ss);  
$(ss).text("1001");  
console.log(ss);

仍然是1000的价值。我甚至累了.html()但都是徒劳的。 显然我需要更改div

中的文本

如何做同样的事情。任何帮助将不胜感激

5 个答案:

答案 0 :(得分:2)

您不修改字符串ss。使用$(ss),您可以根据该HTML代码创建一个jQuery对象,然后更改其文本,然后将其丢弃。

看看这个:

var ss = "<div class='GridCellDiv' style='width: 68px;'>1000</div>";  
console.log(ss);
ss = $(ss).text("1001");  
console.log(ss[0].outerHTML);

答案 1 :(得分:2)

$(ss).text("1001");中,您正在使用jQuery包装器创建临时dom对象,并且正在修改其内容,这不会更新ss变量中的原始源。

如果您需要更新的内容,则需要从创建的dom元素引用中获取它。

你可以这样做

var ss = "<div class='GridCellDiv' style='width: 68px;'>1000</div>";  
var $ss  = $(ss);
console.log($ss);  
$ss.text("1001");  
console.log($ss[0].outerHTML);

演示:Fiddle

答案 2 :(得分:0)

试试这段代码

&#13;
&#13;
var ss =  $(".GridCellDiv")
console.log(ss);  
ss.text("1001");  
console.log(ss);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='GridCellDiv' style='width: 68px;'>1000</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

为什么不这样做?

$('.GridCellDiv').html('1001');

答案 4 :(得分:0)

您需要将您的String发送到jQuery函数 一旦你的String成为一个包裹着所有漂亮的jQuery方法的HTMLElement,你就可以访问.text()之类的那些并直接操作Element。

var ss = $("<div class='GridCellDiv' style='width: 68px;'>1000</div>");   // jQuery ElementObject
console.log(ss);                // [object Object]...
$(ss).text("1001");
console.log( ss.text() );       // "1001"
console.log( ss[0].outerHTML ); // "<div class='GridCellDiv' style='width: 68px;'>1001</div>"