我有一个包含许多div的页面(myPage.aspx)。 EG。
<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>
使用jquery的ajax函数,从我想要的其他页面:
a)在页面myPage.aspx上测试多少.quote div。
b)将myPage.aspx中的随机.quote div加载到特定的id div中 (#myDiv),在我当前的页面上。
非常感谢任何帮助优惠。
答案 0 :(得分:4)
您可以使用以下内容:
$.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 );
});
在此处查看:[{3}}
答案 1 :(得分:2)
您可以使用jQuery ajax()
方法从myPage.aspx
获取内容,并使用jQuery apis遍历其内容。试试这个。
$.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));
}
});
答案 2 :(得分:1)
您可以使用回调函数来实现此目的。例如:
这应该出现在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>
这将是你的ajax功能:
<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>
此功能基本上是: 1.检索第二页上的所有HTML 2.获取包含引号的数量 3.获取一个0到1之间的随机数,该数字小于引号数,因为数组在JavaScript中从0开始 4.从带有该随机数的引号中获取文本 5.将引号插入#myDiv元素。