Php 每个方法

Php 每个方法,php,jquery,each,Php,Jquery,Each,学习Jquery并与PHP集成——这是我的目标,但在我正在编写的一些代码中还有最后一个挑战 我有一个字符串中的HTML,尝试在标签中提取HTML,可能是HTML字符串中的多个元素,所以尝试使用每个元素。我的函数在没有each的情况下运行良好,下面是我的each集成(当前未返回任何内容): $(文档).ready(函数(){ $($a),$()。每个( 函数(){ 警报($(this.html()); }); }; 下面的代码确实有效,但只返回HTML中的第一个元素: <?php

学习Jquery并与PHP集成——这是我的目标,但在我正在编写的一些代码中还有最后一个挑战

我有一个字符串中的HTML,尝试在标签中提取HTML,可能是HTML字符串中的多个元素,所以尝试使用每个元素。我的函数在没有each的情况下运行良好,下面是我的each集成(当前未返回任何内容):


$(文档).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>