1

我很可能会被 b'*ch 扇耳光,因为我在发帖前没有足够的搜索论坛,但我真的认为我已经搜索了所有相关的帖子,很多似乎没有专门涵盖我的问题,其他的飞过我的初学者的头(因为我是 PHP 和 js 的新手)。话虽如此...

我已经构建了一个 PHP 代码来使用$xml=simplexml_load_file();

不用担心,但是所需的数据“条目”或“字段”之一需要存在于onclick和/或onmouseupjavascript 函数中。

代码如下:

<?php
$xml=simplexml_load_file('prod_test_feed_sameday.xml');
        $max = 8;
        $i = 1;
foreach($xml->product as $feed){ 
if ($i <= $max){
echo "<table id='{$feed->position}' class='prod_container'>
        <td class='hidden_mask' id='{$feed->position}'>
        </td>
        <td class='hidden_image' id='{$feed->position}'><span style='background:url({$feed->prod_image_large}) no-repeat center;'/></span><div><a onmouseup='$('.hidden_image#{$feed->position}').slideToggle('slow');' onclick='$('.hidden_mask#{$feed->position}').hide();'><b>CLOSE</b></a></div>
        </td>
    <tr>
        <td class='prod_image' id='{$feed->position}'>
        <span style='background:url({$feed->prod_image_small}) no-repeat center; background-size:contain;'/></span>         
        </td>
        <td rowspan='1' class='info_toggle' id='{$feed->position}'><a onmouseup='$('.hidden_image#{$feed->position}').slideToggle('slow');' onclick='$('.hidden_mask#{$feed->position}').show();><img src='images/zoom_02.png' title='See a larger image of these flowers' /></a>
        </td>
    </tr>
    <tr>
        <td colspan='2' class='prod_name' id='{$feed->position}'>{$feed->prod_name}
        </td>
    </tr>
    <tr>
        <td colspan='2' class='prod_price' id='{$feed->position}'><span id='{$feed->position}'>from: £{$feed->price}</span><a href='{$feed->prod_link}' target='_blank'><span class='buy_button'>&nbsp;Buy it now!&nbsp;</span></a></td>
    </tr>
</table>";
            $i++;
        } 
      }  
?>

数据和 CSS 都可以完美运行。href代码末尾有一个链接,它也可以完美运行。

我绞尽脑汁试图在onlick函数中找到我的语法错误。

我已经尝试了各种反斜杠方式,使用反复试验,例如:

onclick='$(\'.hidden_mask#{$feed->position}\').hide();' 或者 onclick='\'$('.hidden_mask#{$feed->position}').hide();\'' 甚至 onclick=\''$(\'.hidden_mask#{$feed->position}\').hide();\''onclick=\''$(\\'.hidden_mask#{$feed->position}\\').hide();\'' <--Freddy Krugar 'slashing' 例子

无论如何,我很茫然。

4

1 回答 1

0

尝试使用双引号并将它们转义:

echo " ...
    onclick=\"$('.hidden_mask#{$feed->position}').hide();\"
...";

或者

echo " ...
    onclick='$(\".hidden_mask#{$feed->position}\").hide();'
...";

演示

这样,您只需在 PHP 中进行转义,而不需要 Freddy Krugar 为 DOM 解析器进行转义。

于 2012-07-30T12:24:00.730 回答