Php 每个方法
学习Jquery并与PHP集成——这是我的目标,但在我正在编写的一些代码中还有最后一个挑战 我有一个字符串中的HTML,尝试在标签中提取HTML,可能是HTML字符串中的多个元素,所以尝试使用每个元素。我的函数在没有each的情况下运行良好,下面是我的each集成(当前未返回任何内容):Php 每个方法,php,jquery,each,Php,Jquery,Each,学习Jquery并与PHP集成——这是我的目标,但在我正在编写的一些代码中还有最后一个挑战 我有一个字符串中的HTML,尝试在标签中提取HTML,可能是HTML字符串中的多个元素,所以尝试使用每个元素。我的函数在没有each的情况下运行良好,下面是我的each集成(当前未返回任何内容): $(文档).ready(函数(){ $($a),$()。每个( 函数(){ 警报($(this.html()); }); }; 下面的代码确实有效,但只返回HTML中的第一个元素: <?php
$(文档).ready(函数(){
$($a),$(<?php echo$info;?>)。每个(
函数(){
警报($(this.html());
});
};
下面的代码确实有效,但只返回HTML中的第一个元素:
<?php
$info = '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong></li>';
$info = json_encode($info);
?>
<script type="text/javascript">
$(document).ready(function () {
var output = $("a", $( < ? php echo $info; ? > )).html();
var link = $("a", $( < ? php echo $info; ? > )).attr("href");
alert(output);
alert(link);
});
</script>
$(文档).ready(函数(){
var输出=$(“a”,$(<?php echo$info;?>).html();
var link=$(“a”,$(<?php echo$info;?>).attr(“href”);
警报(输出);
警报(链接);
});
这是如何使用.each()
你可以试试这个例子
$("a").each(function(index){alert($(this).html()});
您的代码无法工作,因为存在一些语法问题 首先,改变
< ? php echo $info; ? >
使用
或者干脆完全删除临时变量,使其易于读取,但实际上PHP就是这么做的
$("a", $("<?php echo '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong></li>'; ?>")).each(
<代码>$(“a”),$(“”)。每个(
或者更简单一点,因为您已经有了HTML,只需将它作为页面的一部分包括进来,并可能给它一个ID,以便使用jQuery更容易地引用它
<li id="myList">
<strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong>
</li>
<script type="text/javascript">
$(document).ready(function() {
$("a", "#myList").each(function() {
alert($(this).html());
});
});
</script>
$(文档).ready(函数(){
$(“a”,“#myList”)。每个(函数(){
警报($(this.html());
});
});
最后一个示例完全摆脱了PHP,但您并没有真正使用它。您只有一个a标记,这就是为什么上面的代码实际上不返回任何警报,甚至第一个标记也不返回的原因。我注意到我的HTML中没有第二个标记(来自前面发布的示例)因此,添加到我的代码和帖子中,仍然没有骰子。你想阅读
href
值吗?最终我可能会使用href,但现在,我只想让我的每一个代码都能工作,然后我可以用href attr过滤第二个示例,但不会得到$info var中的所有元素,只是第一个…谢谢-是的,我一直在使用该spe具体地说,包括一些其他的例子。我不知道我做错了什么…很抱歉发布这样一个基本的问题,jquery(过去几天)@user760305:你可以试试这个$(“a”)。每个(函数(索引){alert($(this).html()});
Thomas-使用上面的示例,我确实开始工作了。在实现了您的示例后,我只看了一下,遗漏了一些});因此,原来的失败。修复了,现在效果很好。非常感谢!如果没有JSON,就无法正确呈现HTML"我们碍手碍脚,没有正确地呈现javascript…同样,这肯定是新的,所以我愿意接受建议。删除您认为的json编码?问题是我有一个填充$info变量的例程,因此更易于使用变量。请看,不如像我上一个示例中那样直接将HTML添加到页面中,而不是添加t他将整个HTML作为一个PHP字符串变量,一个稍微好一点的方法是直接添加HTML,并且只对非HTML部分使用PHP。我在这里创建了一个简单的示例-仅供参考,整个页面是PHP,这只是一个片段,页面上只有jquery,这就是PHP存在的原因
};
});
</script>
<?php
$info = '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong></li>';
?>
<script type="text/javascript">
$(document).ready(function() {
$("a", $("<?php echo $info; ?>")).each(
function () {
alert($(this).html());
}
);
});
$("a", $("<?php echo '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong></li>'; ?>")).each(
<li id="myList">
<strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong>
</li>
<script type="text/javascript">
$(document).ready(function() {
$("a", "#myList").each(function() {
alert($(this).html());
});
});
</script>