如何让jQuery的.load()从结果中排除div元素?

时间:2016-10-25 18:32:26

标签: javascript jquery html

使用JQuery的.load从其他页面中选择div,如

<div id="hello"> Hello </div>

如何从结果中排除div标签?

所以它只返回“你好”。

更具体地说,我实际上正在做的是从网页中获取一个带有一些html的div并将其放在另一个网页中。

<script>
    $(document).ready(function(){
        $('.backup').on('click',function(e){
            var id = $(this).attr('id');
            var file_name = "../ajax/"+{{ json_encode($data[0]) }} + " #" + id + ".text";
            console.log(file_name);
            //this is .load it takes in a string with a URL and a DOM element as a string.
            // it will take the dom element found at the URL and place it in .page_text
            $(".page_text").load(file_name);
        });
    });
</script>

7 个答案:

答案 0 :(得分:1)

$("#hello").text()给出了div的内容。只需使用文字方法。

答案 1 :(得分:1)

可能没有真正的方法可以做到这一点。

.load()将加载资源并将其插入DOM。该方法没有参数来排除某些元素。

如果您绝对不能让某些元素进入您的页面的DOM,您可能需要解析您在服务器端加载的资源并删除那里的元素。

但是,如果您可以使用加载的元素,只是不希望它们可见,您可以执行以下操作之一:

  • 加载所有内容,然后加载delete您不想要的所有元素

  • 加载所有内容并使用CSS隐藏您不想要的所有元素。例如,如果您将所有内容加载到名为<div>的{​​{1}}中,则可以使用CSS隐藏div:

    mystuff

答案 2 :(得分:0)

$('#hello').text('Hello')

那应该为你做。

答案 3 :(得分:0)

如果我理解正确,你正在寻找div的内容。

仅使用javascript

var getDiv = document.getElementById('hello').innerHTML //Hello

答案 4 :(得分:0)

如果您想选择div

$(&#34;#hello&#34;) - &gt;这给div的id为hello

如果你想获得它的内容

$(&#34;#hello&#34;)。text()将返回hello

答案 5 :(得分:0)

使用Jquery作为提及:

$('hello').text()

或使用Javascript:

document.getElementById('hello').innerHTML

这将仅使用hello ID

调用元素内的文本

答案 6 :(得分:0)

这将返回文字和html内容

$('#hello').html()

这将返回div单独

的文字内容
$('#hello').text()

实施例

&#13;
&#13;
$('.a').click(function(){

  alert($('.html').html());
});
  
$('.b').click(function(){

  alert($('.text').text());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button class='a'> Get HTML </button>

<button class='b'> Get Text</button>
  
<div class='html'> 
<p> This is the HTML plus Content </p>
 </div>
<div class='text'>
  <p> This is the Text Content only </p>
  </div>
&#13;
&#13;
&#13;