使用jquery从另一个页面加载随机元素
我有一个包含许多div的页面(myPage.aspx)。例如使用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 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元素中插入引号。这正是我想要的。非常感谢。