Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery在div中的div类中更改html_Jquery_Html - Fatal编程技术网

jQuery在div中的div类中更改html

jQuery在div中的div类中更改html,jquery,html,Jquery,Html,我将如何更改以下内容的HTML: <div class="name">President Speech</div> 但这似乎不起作用 更新 似乎在videos div运行JS来填充它所寻找的HTML之后,它不会启动 <script type="text/javascript"> $(document).ready(function() { $('#videoBox7 .name').html('President Speech TEST!'

我将如何更改以下内容的HTML:

<div class="name">President Speech</div>
但这似乎不起作用

更新

似乎在videos div运行JS来填充它所寻找的HTML之后,它不会启动

<script type="text/javascript">
   $(document).ready(function() {
      $('#videoBox7 .name').html('President Speech TEST!');
   });
</script>

$(文档).ready(函数(){
$('#videoBox7.name').html('President Speech TEST!');
});
我已将填充视频的JS上传到

更新2


通过放置
$('#videoBox7.name').html('President Speech TEST!'),找到了实现这一点的方法在brightstar js的
onplayload
功能中。

您应该看到的功能

确保在准备好文档的ie上运行它

$(document).ready(function(){
  $('#videoBox7 .name').html('President Speech TEST!');
});

请确保仅在将
htmldevelment
添加到DOM后运行此代码:

$(function(){
    $('#videoBox7 .name').html('President Speech TEST!');
});
随着作者的研究,问题很明显是Brightcove视频播放器加载了新元素以反映视频播放列表。这一点的明确解决方案是与Brightcove玩家的事件系统相结合,在添加元素后做出响应。

您需要使用

.text()
函数实际上相当智能。您可以从对象中提取文本,jQuery就会知道您想要什么。您的jQuery应该是:

$("#videoBox7 .name").text("President Speech TEST!");
您还需要确保在整个文档加载就绪后触发jQuery运行。如果元素未准备就绪,则不希望尝试以该选择器为目标。使用以下命令:

$(function () {
    $("#videoBox7 .name").text("President Speech TEST!");
});

你可以给我这个

  <div class="name">President Speech</div> 
或者看看这里

看看如何得到第n个孩子,就你的情况来说,第二个孩子。

你提供的应该很好;究竟发生了什么?打开F12开发者工具,检查控制台是否有错误。哼。。似乎没有在正确的时间开火。我在$(document)下有它。准备好了,但是我正在寻找的视频用js填充了它,所以我猜代码在执行时还没有完成?你的代码在哪里拉入这个标记?当我只有一个测试的时候!当我用鼠标手动加载所有内容后,点击它,它确实会改变它。但是,您将
#videoBox7
添加到DOM的代码在哪里?听起来好像您建议它最初并不存在,但在加载页面后会动态添加。是这样吗?你是在暗示这个脚本应该在那个特定元素之后吗?因为您的脚本可以(也应该)在HTML文档头中。@RobertKoritnik上面的示例可以放在任何地方,并将等待文档准备就绪后再执行。关于脚本的放置位置,如果您愿意,也可以将脚本放置在
正文中
——根据规范这样做是完全合法的。@RobertKoritnik将脚本放在头部是个坏主意,除非您绝对需要它们。不管你的脚本在哪里,
$(document).ready()
$(function(){})
都能用。@Stephen:等等,伙计们。。。我想说的是,我把Jonathan的陈述照字面理解,他说在添加div后运行这个代码。这段代码不仅仅是处理程序中的代码,而是整个DOM就绪处理程序定义。。。不仅仅是第二行,还有所有三行。我不想说我不知道如何使用jQuery。看在皮特的份上,我有一个jQuery徽章…:)谢谢你的帮助@JonathanSampson!!使用
.html()
是完全有效的。我的错是,我只是立即用.text进行了测试,我想我会发布我的即时解决方案。html可以工作,但是如果您正在更改文本,为什么不使用.text呢?如果您正在编写一个函数来更改元素的文本,您会将此函数命名为changeHTML还是changeText?你觉得哪个更清楚?如果您与编写此代码的开发人员不同,并且您看到了一个名为changeHTML的复杂函数,那么您最初是否能够得出结论,它只更改文本?不,我认为它不仅仅是在改变文本。那么changeText呢?我很确定这会更清楚一点。没错,他应该使用
.text
,因为他所操作的都是文本,但如果
.html
不起作用,我想这个也不会。@Tom:他传递的字符串只包含文本-我一直在使用它进行测试-但这并不意味着代码只会被使用传递了一个文本字符串。最终结果是更改元素的内容,因此我始终默认使用
.html()
,因为它将处理仅传入文本时的情况以及传入包含html的字符串时的情况。text确实有效。我在帖子中指出,他们必须记住在加载文档后应用jquery。很确定这就是他的问题所在。我启动了一个快速的JSFIDLE,并在5秒内用.text()更改了div的文本。我不知道为什么反对者会投票给这个问题一个完全可以接受的答案。OP从未询问或声明他们需要使用.html(),他们只是询问如何更改文本。我提供了所有有效的信息。我不明白为什么人们使用长符号来提供DOM就绪处理程序。。。为什么不干脆
$(function(){…})?@RobertKoritnik,因为对于那些不熟悉jQuery如何处理各种参数类型的人来说,长格式更容易理解。@JonathanSampson:我同意这样一个事实,即对于那些不使用jQuery的人来说,这可能是有价值的信息,但是那些使用jQuery的人,应该熟悉它。而
$()
是每个人了解jQuery的第一件事。你的意思是,如果汽车制造商将把方向盘放在那些不知道如何驾驶的人的方向盘上。@RobertKoritnik实际上,很少有人知道jQuery如何评估传入其init方法的参数的
类型。我很感激你花了这么多时间来评论和帮助我,@Dominic Green。谢谢彼得的帮助。
$(function () {
    $("#videoBox7 .name").text("President Speech TEST!");
});
  <div class="name">President Speech</div> 
 <div id = "myid" class="name">President Speech</div>
    $('#myid').html('President Speech TEST!');