如何将不同的 CSS 类添加到 ajax 响应的不同标签中
How to add Different CSS classes to different tags of ajax reponse
客户端正在通过jquery进行ajax调用。从数据库获取数据后,我返回响应。在此响应中,我将许多类和样式应用于不同的 html 标签。这使得代码看起来很丑陋。
while (my @data = $statement->fetchrow_array())
{
print " <li class='productWrap $data[7]' style='height:200px; width:150px;'>
<center>
<div class='"productImageWrap'" id='"productImageWrapID_$data[0]'">
<img src=$data[5] width='75' height='75'' />
</div>
<div>
<div style='font-size: 11px; font-family: '"Verdana'"; '> $data[6] $data[1] $data[2] </div>
<b>
<span> <strike> $data[3] </strike> $data[4] </span>
<a href='#' id='"featuredProduct_$data[0]'" onclick='" adjust_menu(this.id); simpleCart.add('name=$data[6] $data[1] $data[2]', 'price=$data[4]','image=$data[5]'); return false;'">
<img src='images/add-to-basket2.gif' alt='Add To Basket' width='111' height='32' id='featuredProduct+$data[0]' />
</a>
</b>
</div>
</center>
</li>";
}
有什么办法,这样我就可以避免这种情况。 并在获得响应后在客户端本身应用类和样式?
一个好的解决方案是将数据编码为 JSON 字符串,将其传递给客户端并让它呈现结果。
有几个jquery模板引擎。一个有趣的方法是这样的:
<script type="text/template" id="itemTemplate">
<ul>
<li class='productWrap' style='height:200px; width:150px;'>
...
</li>
</ul>
</script>
由于这不是JavaScript,浏览器不会执行它。它也不会尝试渲染它。但是您可以使用 jQuery $('#itemTemplate ul li')
来获取列表项。现在你可以使用所有的jQuery魔术将数据插入到模板中,并添加CSS样式等:
var item = $('#itemTemplate ul li');
item.addClass(data[7]);
相关:
- 推荐 2012 年的 jQuery 模板?
- http://www.west-wind.com/weblog/posts/2008/Oct/13/Client-Templating-with-jQuery
相关文章:
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- Ajax响应转换
- 如何在数据表中设置从Ajax响应选中的复选框
- 在Javascript中的ajax响应之后未调用Dropdown事件
- RubyonRails-Ajax响应的问题
- Ajax:Ajax响应中的链接不起作用
- 如何执行ajax响应返回的javascript函数
- 带有 AJAX 响应或 AJAX 响应的 IF 条件.响应.Text 不起作用
- 正在检查ajax响应中的错误数据
- 如何从ajax响应中重新加载整个页面
- 如何使用jQuery/Ajax响应特定的提交按钮
- 是浏览器在AJAX响应中自动处理的HTTP标头
- Masony无法处理ajax响应
- 使用yii2表单等待ajax响应
- jquery返回ajax响应和用户定义的变量到函数
- 使用Ajax响应更新TextBox
- 如何在jquery ajax响应后设置jquery滑块的起始值
- Rails 4中不执行Ajax响应
- jquery解析ajax响应