Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 从内部局部视图修改主视图_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 从内部局部视图修改主视图

Javascript 从内部局部视图修改主视图,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个主要观点,假设有以下几点: <div id='test'>Some Text</div> <div id='placeholder'></div> 一些文本 然后使用ajax将“占位符”的内容替换为如下所示的局部视图: <div id='ajaxContent'> // new content </div> <script> $(document).ready(function() { c

我有一个主要观点,假设有以下几点:

<div id='test'>Some Text</div>

<div id='placeholder'></div>
一些文本
然后使用ajax将“占位符”的内容替换为如下所示的局部视图:

<div id='ajaxContent'>
 // new content
</div>

<script>
 $(document).ready(function() {
  console.log($('#test').text());
  $('#test').css('color','red');
 });
</script>

//新内容
$(文档).ready(函数(){
log($('#test').text());
$('#test').css('color','red');
});
因此,在我的脚本中,我试图将div'test'中文本的颜色更改为红色,但我在控制台中不断得到'undefined'。如何通过ajax从进入主视图的部分视图访问主视图中的测试div


如果它们在同一个页面上结束,html元素是否应该能够看到彼此?

实际上不需要使用
$(document).ready
。这没用。但它不应该破坏任何东西。您还可以通过插入同一文档中任意位置的脚本访问页面上的任何元素。所以问题在你们的问题范围之外

尝试:

  • 从控制台运行
    $('#test').text()
  • 将脚本中的
    $('#test').text()替换为
    $('body')
    或其他内容

  • 调试时要演绎!;-)

    实际上不需要使用
    $(document).ready
    。这没用。但它不应该破坏任何东西。您还可以通过插入同一文档中任意位置的脚本访问页面上的任何元素。所以问题在你们的问题范围之外

    尝试:

  • 从控制台运行
    $('#test').text()
  • 将脚本中的
    $('#test').text()替换为
    $('body')
    或其他内容

  • 调试时要演绎!;-)

    实际上不需要使用
    $(document).ready
    。这没用。但它不应该破坏任何东西。您还可以通过插入同一文档中任意位置的脚本访问页面上的任何元素。所以问题在你们的问题范围之外

    尝试:

  • 从控制台运行
    $('#test').text()
  • 将脚本中的
    $('#test').text()替换为
    $('body')
    或其他内容

  • 调试时要演绎!;-)

    实际上不需要使用
    $(document).ready
    。这没用。但它不应该破坏任何东西。您还可以通过插入同一文档中任意位置的脚本访问页面上的任何元素。所以问题在你们的问题范围之外

    尝试:

  • 从控制台运行
    $('#test').text()
  • 将脚本中的
    $('#test').text()替换为
    $('body')
    或其他内容

  • 调试时要演绎!;-)

    jQuery只需在
    html(…)
    call上删除JavaScript片段。类似的问题可在此处找到:

    因此,您必须以这种方式插入部分数据(假设您在
    result
    变量中有部分响应):


    另外,正如@RolandBertolom之前所说的,在JavaScript的部分响应中不需要ready()。

    您的JavaScript片段只需在
    html(…)
    调用中通过jQuery删除即可。类似的问题可在此处找到:

    因此,您必须以这种方式插入部分数据(假设您在
    result
    变量中有部分响应):


    另外,正如@RolandBertolom之前所说的,在JavaScript的部分响应中不需要ready()。

    您的JavaScript片段只需在
    html(…)
    调用中通过jQuery删除即可。类似的问题可在此处找到:

    因此,您必须以这种方式插入部分数据(假设您在
    result
    变量中有部分响应):


    另外,正如@RolandBertolom之前所说的,在JavaScript的部分响应中不需要ready()。

    您的JavaScript片段只需在
    html(…)
    调用中通过jQuery删除即可。类似的问题可在此处找到:

    因此,您必须以这种方式插入部分数据(假设您在
    result
    变量中有部分响应):


    另外,正如@RolandBertolom之前所说的,在JavaScript的部分响应中不需要ready()。

    您不应该使用
    $(document)。再次使用ready
    ,因为您的文档已经加载了主页面,所以再次使用它不会有帮助。 试着这样做: 假设这是您的test.php:

    <script>
    jQuery(document).ready(function() {
    
         $.ajax({
                type:'post',
                 url:'submit.php',
                 success:function(data) {
                     $('#placeholder').append(data);
                 }
         });
    
        });
    
    </script>
    
    
            <div id='test'>Some Text</div>
    
        <div id='placeholder'></div>
    

    在脚本中。

    您不应再次使用
    $(文档)。准备好了吗?
    ,因为您的文档将已加载主页面,因此再次使用它将没有帮助。 试着这样做: 假设这是您的test.php:

    <script>
    jQuery(document).ready(function() {
    
         $.ajax({
                type:'post',
                 url:'submit.php',
                 success:function(data) {
                     $('#placeholder').append(data);
                 }
         });
    
        });
    
    </script>
    
    
            <div id='test'>Some Text</div>
    
        <div id='placeholder'></div>
    

    在脚本中。

    您不应再次使用
    $(文档)。准备好了吗?
    ,因为您的文档将已加载主页面,因此再次使用它将没有帮助。 试着这样做: 假设这是您的test.php:

    <script>
    jQuery(document).ready(function() {
    
         $.ajax({
                type:'post',
                 url:'submit.php',
                 success:function(data) {
                     $('#placeholder').append(data);
                 }
         });
    
        });
    
    </script>
    
    
            <div id='test'>Some Text</div>
    
        <div id='placeholder'></div>
    

    在脚本中。

    您不应再次使用
    $(文档)。准备好了吗?
    ,因为您的文档将已加载主页面,因此再次使用它将没有帮助。 试着这样做: 假设这是您的test.php:

    <script>
    jQuery(document).ready(function() {
    
         $.ajax({
                type:'post',
                 url:'submit.php',
                 success:function(data) {
                     $('#placeholder').append(data);
                 }
         });
    
        });
    
    </script>
    
    
            <div id='test'>Some Text</div>
    
        <div id='placeholder'></div>
    

    在脚本中。

    在将内容放入主视图的AJAX调用的完整或成功回调中运行脚本。@MarcellFülöp我不想这样做,我有我的理由,我需要在partialUsing文档中这样做。ready()可能是问题所在-我不确定在主文档已经准备好之后添加新内容时是否会触发。您应该能够简单地包含脚本,而无需将其包装到document.ready()中。@Alan它确实会触发,我有其他测试日志,它们在document ready函数中工作,并在部分视图加载时触发。我猜不是这样。您肯定没有另一个ID为“test”的元素?您发布的片段看起来应该可以正常工作。在AJAX调用的complete或success回调中运行脚本,将内容放入主视图。@MarcellFülöp我不想这样做,我有我的理由