Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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
Javascript 使用JQuery获取';s头的子项以替换不同的头_Javascript_Jquery_Events_Target_Children - Fatal编程技术网

Javascript 使用JQuery获取';s头的子项以替换不同的头

Javascript 使用JQuery获取';s头的子项以替换不同的头,javascript,jquery,events,target,children,Javascript,Jquery,Events,Target,Children,我正在尝试获取event.target('h6.class')的.div('.child#')子级的文本内容,并使用下面的脚本替换我的其他标题('h1.replacHeader#') $('h6.HeaderToBeClicked').click(function(event) { var $target = $(this); $('.replaceHeader1').replaceWith("<h1 class='replaceHeader1'>" + $targ

我正在尝试获取event.target('h6.class')的.div('.child#')子级的文本内容,并使用下面的脚本替换我的其他标题('h1.replacHeader#')

$('h6.HeaderToBeClicked').click(function(event) { 
    var $target = $(this);
    $('.replaceHeader1').replaceWith("<h1 class='replaceHeader1'>" + $target.children(".child1").text() + "</h1>");
    $('.replaceHeader2').replaceWith("<h1 class='replaceHeader2'>" + $target.children(".child2").text() + "</h1>");
    });

});

HTML:
<div id="ReplaceTheseHeaders">
    <h1 class='replaceHeader1'></h1>
    <h1 class='replaceHeader2'></h1>
</div>
<div id="accordian" class="acc">
    <?php $counter = 1; ?>
    <?php foreach ($tmpl->vars as $var) { ?>
    <h6 class="HeaderToBeClicked"><a href="#">
    <div class="counter"><?php print $counter . "." ?></div>
        <div class="child1"><?php print $var['title'];?></div>
    <div class="child2"><?php print $var['name'];?></div>
    </a></h6>
<?php $counter = $counter+1; ?>
    <?php } ?>
</div>
$('h6.HeaderToBeClicked')。单击(函数(事件){
var$target=$(这是);
$('.replaceHeader1').replaceWith(“+$target.children(“.child1”).text()+”);
$('.replaceHeader2').replaceWith(“+$target.children(“.child2”).text()+”);
});
});
HTML:

我注意到.text()显然不适用于事件。target。。。那么我该如何实现这一点呢?

如果
$target
是指
h6.class
元素,那么您应该更改这一行:

var $target = $(event.target);
为此:

var $target = $(this);
$(event.target)
将实际引用单击的任何子元素。然后,事件冒泡到具有处理程序(
h6.class
)的元素,该处理程序由
$(this)
引用


编辑:

如果这与您的HTML相似,那么代码运行得非常完美。如果(例如)
.child1
.child2
h6.class
中嵌套得更深,那么我们需要稍微修改一下

<h6 class='class'>
    <div class='child1'>this is child 1</div>
    <div class='child2'>this is child 2</div>
</h6>

<div class="replaceHeader1">header1</div>
<div class="replaceHeader2">header2</div>
<div class="replaceHeader1">header1</div>
<div class="replaceHeader2">header2</div>

这假设您只是更改
.replaceHeader
元素的内容。如果还需要更改标记名,则需要返回使用
replaceWith()

如果
$target
要引用
h6.class
元素,则应更改此行:

var $target = $(event.target);
为此:

var $target = $(this);
$(event.target)
将实际引用单击的任何子元素。然后,事件冒泡到具有处理程序(
h6.class
)的元素,该处理程序由
$(this)
引用


编辑:

如果这与您的HTML相似,那么代码运行得非常完美。如果(例如)
.child1
.child2
h6.class
中嵌套得更深,那么我们需要稍微修改一下

<h6 class='class'>
    <div class='child1'>this is child 1</div>
    <div class='child2'>this is child 2</div>
</h6>

<div class="replaceHeader1">header1</div>
<div class="replaceHeader2">header2</div>
<div class="replaceHeader1">header1</div>
<div class="replaceHeader2">header2</div>

这假设您只是更改
.replaceHeader
元素的内容。如果还需要更改标记名,则需要返回到使用
replaceWith()

单击h6.class时,.replaceHeaders标题将更改为div.class的标题,它是单击的h6.class的子类为了更好地解释,我的标题类中有两个动态div,单击整个标题时,单击标题中的div应替换页面上其他位置的标题。单击h6.class时,.replaceHeaders标题将更改为div.class的标题#它是单击的h6.class的子类为了更好地解释,我的标题类中有2个动态div,当点击整个标题时,点击标题中的div应该会替换页面上其他地方的标题。谢谢,我对JS不是很精通,但这似乎有点帮助,现在我得到的是[object object],而不是emptyset。。。。但是现在我如何从div中获取文本来替换标题文本呢?实际上,如果返回的是空文本和未定义文本,那么您可能应该在问题中发布一个HTML示例。否则,无法判断是否使用了正确的选择器和遍历函数。如果只是替换
replaceHeader
元素的内容,则不需要
replaceWith()
。我会更新我的答案。非常感谢,是的,a标签是在事故发生时留在那里的,我在发布之前已经清理了我的代码,使其更加通用和易懂。再次感谢!谢谢,我不太精通JS,但这似乎有点帮助,现在我得到的是[object object],而不是emptyset。。。。但是现在我如何从div中获取文本来替换标题文本呢?实际上,如果返回的是空文本和未定义文本,那么您可能应该在问题中发布一个HTML示例。否则,无法判断是否使用了正确的选择器和遍历函数。如果只是替换
replaceHeader
元素的内容,则不需要
replaceWith()
。我会更新我的答案。非常感谢,是的,a标签是在事故发生时留在那里的,我在发布之前已经清理了我的代码,使其更加通用和易懂。再次感谢!