使用jquery使用包装集向某些div添加值
我对jquery非常不好,我应该请求原谅:) 我有一个类似于以下内容的div元素:使用jquery使用包装集向某些div添加值,jquery,Jquery,我对jquery非常不好,我应该请求原谅:) 我有一个类似于以下内容的div元素: <div id="MyDiv"><span id="Title"></span><div id="Text"></div></div> 现在,我有了这个包装集,我想找到“Title”span和“Text”div,以便在不修改页面中的“MyDiv”div的情况下将一些文本放入其中,这样我就可以执行以下操作: CallMyFunction(my
<div id="MyDiv"><span id="Title"></span><div id="Text"></div></div>
现在,我有了这个包装集,我想找到“Title”span和“Text”div,以便在不修改页面中的“MyDiv”div的情况下将一些文本放入其中,这样我就可以执行以下操作:
CallMyFunction(myDiv);
我该怎么做
感谢您的帮助。由于您使用的是ID,您可以直接访问它们:
$("#Title").text("My title text");
$("#Text").text("My text");
要获取html,请执行以下操作:
var myHTML = $("#MyDiv").html();
如果有多个ID为Title
或Text
的元素,则没有有效的HTML
如果是这样,您需要将它们更改为类,然后使用.find()
:
要在span
#Title
中添加一些文本
$('#Title').text('Some Text');
//Use .html inplace of .text incase if you are adding html content
同样,在div#Text
中
$('#Text').text('Some More Text');
//Use .html inplace of .text incase if you are adding html content
现在使用如下函数发送整个内容:
var myDivContent = $("#MyDiv").html();
好的,听起来你想做的是,在你的函数调用中,给一个变量分配一个你想要的div的克隆,编辑它,然后得到它的html并用它调用另一个函数,比如
function dosomething(myDiv){
var texttodosomethingwith = getmodifiedhtml(myDiv);
//do something with texttodosomethingwith
}
function getmodifiedhtml(element){
var cloneddiv = element.clone();
var innerspan = cloneddiv.children('span')[0];
$(innerspan).text(sometext);
var innerdiv = cloneddiv.children('div')[0];
$(innerdiv).text(someothertext);
return cloneddiv.html();
}
听起来像你想要的吗?克隆将复制div而不将其附加到页面,因此您可以在保持页面完整的同时获得相同的结构和ID
请注意,您需要使用元素的jquery选择调用dosomething,比如dosomething($(“#mydiv”) 有多少元素具有
id
的Title
。我对jquery非常陌生,所以我正在阅读并试图找出如何做到这一点。我的问题是我需要尽快发表我的故事,所以我有点时间紧迫(@Blender:who to add text to a div jquery)或者类似的东西。塞尔吉奥,我理解时间的紧迫性,但你可以在谷歌上搜索stackoverflow,找到“如何向div jquery添加文本”或者类似的东西,然后立即得到一个结果。你在这里发布之前有没有尝试过谷歌?
var myDivContent = $("#MyDiv").html();
function dosomething(myDiv){
var texttodosomethingwith = getmodifiedhtml(myDiv);
//do something with texttodosomethingwith
}
function getmodifiedhtml(element){
var cloneddiv = element.clone();
var innerspan = cloneddiv.children('span')[0];
$(innerspan).text(sometext);
var innerdiv = cloneddiv.children('div')[0];
$(innerdiv).text(someothertext);
return cloneddiv.html();
}