我很可能会被打b'*ch耳光,因为我在发布之前没有足够的搜索论坛,但我真的认为我已经搜索了所有相关的帖子,许多帖子似乎没有专门涵盖我的问题,其他的都超出了我的初学者的想象(因为我是PHP和js的新手)。话虽如此。。。
我构建了一个PHP代码,使用$xml=simplexml_load_file();
从XML文件中获取数据
不用担心,但是,onclick
和/或onmouseup
javascript函数中需要存在一个所需的数据"条目"或"字段"。
代码如下:
<?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'> Buy it now! </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"大幅削减"示例
无论如何,我不知所措。
尝试使用双引号并转义它们:
echo " ...
onclick='"$('.hidden_mask#{$feed->position}').hide();'"
...";
或
echo " ...
onclick='$('".hidden_mask#{$feed->position}'").hide();'
...";
演示
通过这种方式,您只在PHP中执行转义,而不需要DOM解析器的Freddy Krugar转义。