Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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从另一个页面加载随机元素_Jquery - Fatal编程技术网

使用jquery从另一个页面加载随机元素

使用jquery从另一个页面加载随机元素,jquery,Jquery,我有一个包含许多div的页面(myPage.aspx)。例如 <div class="quote">something 1</div> <div class="quote">something 2</div> <div class="quote">something 3</div> <div class="quote">something 4</div> <

我有一个包含许多div的页面(myPage.aspx)。例如

    <div class="quote">something 1</div>
    <div class="quote">something 2</div>
    <div class="quote">something 3</div>
    <div class="quote">something 4</div>
    <div class="quote">something 5</div>
某物 2点 三点 四点 五点 使用jquery的ajax功能,我想从其他页面:

a) 测试页面myPage.aspx上的.quote div数

b) 将myPage.aspx中的随机.quote div加载到特定的id div中 (#myDiv),在我的当前页面上


非常感谢您提供的任何帮助

您可以使用以下内容:

$.get('/path/to/myPage.aspx', function(data)
{
    var $quotes = $(data).find('div.quote'),
        count = $quotes.length,
        $random = $quotes.eq( Math.floor(Math.random() * count) );

    $('#myDiv').append( $random );
});

查看此处的操作:

您可以使用jQuery
ajax()
方法从
myPage.aspx
获取内容,并使用jQuery API遍历其内容。试试这个

$.ajax({
   url: "myPage.aspx",
   success: function(data){
       var $data = $(data);  
       var $quotes = $data.find('div.quote');

       //$quotes.length will give you the number of quote divs in myPage.aspx

       var randomQuote = Math.floor(Math.random() * $quotes.length));
       $('#myDiv').append($quotes.eq(randomQuote));
   }
});

您可以使用回调函数来实现这一点。例如:

这是您的myPage上应该显示的内容。aspx:

<div id="result">
    <div class="quote">something 1</div>
    <div class="quote">something 2</div>
    <div class="quote">something 3</div>
    <div class="quote">something 4</div>
    <div class="quote">something 5</div>
</div>
<script>
$.ajax({
url: '/myPage.aspx',
type: 'get',
success: function(data) {
    var myLen=$(data).children().size(); 
    var myNum=Math.floor(Math.random()*(myLen-1)); 
    var myData=$(data).children().eq(myNum).text(); 
    $("div#myDiv").text(myData);
    }
});
</script>

一点
2点
三点
四点
五点
这将是您的ajax功能:

<div id="result">
    <div class="quote">something 1</div>
    <div class="quote">something 2</div>
    <div class="quote">something 3</div>
    <div class="quote">something 4</div>
    <div class="quote">something 5</div>
</div>
<script>
$.ajax({
url: '/myPage.aspx',
type: 'get',
success: function(data) {
    var myLen=$(data).children().size(); 
    var myNum=Math.floor(Math.random()*(myLen-1)); 
    var myData=$(data).children().eq(myNum).text(); 
    $("div#myDiv").text(myData);
    }
});
</script>

$.ajax({
url:“/myPage.aspx”,
键入:“get”,
成功:功能(数据){
var myLen=$(数据).children().size();
var myNum=Math.floor(Math.random()*(myLen-1));
var myData=$(data.children().eq(myNum.text();
$(“div#myDiv”).text(myData);
}
});
此功能基本上是: 1.检索第二页上的所有HTML 2.获取包含引号的编号 3.获取一个介于0和1之间的随机数,该随机数小于自JavaScript中数组从0开始以来的#个引号 4.从带有该随机数的引号中获取文本
5.在#myDiv元素中插入引号。

这正是我想要的。非常感谢。