Javascript 用另一个html(jQuery)替换$(this)元素中的html

Javascript 用另一个html(jQuery)替换$(this)元素中的html,javascript,jquery,Javascript,Jquery,我想用从对象中取出的和html字符串替换当前元素中的内容 它必须动态工作,而不管它在什么div,p…etc中 <div id="content"> <h5><script>$(this).append(en.login_terms_and_conditions);</script></h5> </div> $(this).append(en.login\u terms\u和\u条件); 您的示例不太清楚jQuer

我想用从对象中取出的和html字符串替换当前元素中的内容

它必须动态工作,而不管它在什么
div
p
etc

<div id="content">
    <h5><script>$(this).append(en.login_terms_and_conditions);</script></h5>
</div>

$(this).append(en.login\u terms\u和\u条件);

您的示例不太清楚jQuery是如何工作的。试图影响元素时,脚本的位置与
的范围无关

相反,您需要直接选择
#content
元素,然后使用
login\u terms\u和\u conditions
属性的值调用
html()
。试试这个:

var-en={
登录条款和条件:“嘶嘶嗡嗡”
}
$(函数(){
$('content').html(登录条款和条件);
});

富吧
可以按照您所展示的内容进行操作,但这可能不是一个好主意。您将使用
$(document.body.lastElementChild)


//假设您有一些东西定义了'en'变量及其所指的对象:
var en={
登录条款和条件:“此处的条款和条件”
};
一个

两个

$(document.body.lastElementChild).html(en.login\u terms\u和\u条件); 四


六个

如果您想通过id锁定目标,那么您可以尝试以下方法:


$(“#内容”).html(登录条款和条件)

首先,
无法按您的要求工作。您必须先选择一个元素,然后用
this
引用它

第二,即使您想将对象键直接添加到html中,这也是不可能的。(在JSX中是可能的,但这是另一回事:))

第三,为了使它更具动态性(正如我所理解的那样),您可以向html元素添加一些特定的
数据属性。例如,内容的
data obj='content'
,等等。然后,您可以迭代
en
对象,并使用
数据对象将
en[key]
值添加到相应的html元素中

见下文

const-en={
标题:“英文标题”,
内容:“这里有些英文内容
这里有些英文内容”, 链接:“链接文本” } for(让输入en){ if(en.hasOwnProperty(键)){ let元素=$(`[data obj='${key}']`) html(en[key]) } }


到目前为止您尝试了什么/@AkhilAravind您在上面看到了什么。和
document.write
-它可以工作,但不会替换内容,只是将其添加到底部。使用
$(this.html()
而不是
append()
。@viksool已经尝试过了,但没有成功。控制台中也没有抛出错误。@否-请参阅;没有选择器。但正如我在回答中所说:我不会这样做。正如你所说,必须有更好的解决方案。虽然这不是动态的…我必须根据ID来确定它的目标。这就是为什么我尝试使用
$(This)
。我希望能够将它添加到html中,就像这样`$(This)。append(en.login\u terms\u and\u conditions);`。。。同样,jQuery不是这样工作的。您需要首先选择元素。正如我在上面解释的那样,
这个
的范围并不神奇。它不受定义脚本的位置的影响。