从HTML中提取文本,作为JS变量存储,然后添加到单独的HTML's元素中

Extracting text from a HTML to be stored as a JS variable, then to be added to a separate HTML's element

本文关键字:HTML 单独 元素 存储 作为 取文本 提取 JS 变量 然后 添加      更新时间:2023-09-26

好吧,我已经看到了其他类似标题的问题,但他们不完全符合我的要求。我有两个HTML文档,一个包含我的页面,一个包含一个元素,其中有一段文本。以及一个单独的.js文件我想做的是提取此文本,将其存储为JS变量,然后使用jQuery编辑主页内元素的内容。这是我得出的结论,但它没有像预期的那样工作,我不确定是我犯了语法错误还是我完全使用了错误的代码:

$(document).ready(function(){
var c1=(#homec.substring(0)) 
     // #homec is the container of the text i need 
    $(".nav_btn #1").click(function(c1){ 
         $(".pcontent span p") .html(+c1)} 
);

});我知道+c1很可能是错误的,但我一直在努力寻找这个的语法。D

var c1=(#homec.substring(0))将抛出错误,因为#homec不是有效的变量名,未定义,并且没有称为substring的属性函数。要获取id为homec的元素的html,请使用html方法:

var c1 = $("#homec").html(); 

c1不应该是click函数的参数,因为它是在父作用域中定义的。+c1是不必要的,因为您不需要将c1强制为一个数字。

如果你想在段落的末尾添加内容,使用append方法:

$(".pcontent span p").append(c1)

这意味着您应该使用以下代码:

$(document).ready(function() { 
  var c1 = $("#homec").html();
  $(".nav_btn #1").click(function() {  
     $(".pcontent span p").append(c1)
  }); 
});

注:在HTML中,数字不是有效的ID属性。浏览器支持它,所以它不会使任何事情出错,但您的页面不会验证。

试试这个:

$(".nav_btn #1").click(function(c1){           
    var para = $(".pcontent span p");
    para.html(para.html() + c1);
    });

JQuery text()函数将允许您获得匹配元素集合中每个元素的组合文本内容,包括它们的后代。然后可以使用text(value)函数设置目标段落元素的文本内容。这样就足够了:

$(document).ready(function() {
    var c1 = $("homec").text();
    $(".nav_btn #1").click(function() { 
        $(".pcontent span p").text(c1);
    });
});
关于text()函数的更多细节,请参阅JQuery文档。如果需要捕获其他文档的完整结构,则尝试使用html()函数。