我很难接受使用jQuery来获取最接近的前一个元素'class'并不包含类'subsection'
示例HTML:
<section id="p1" class="slide"></section>
<section id="p2" class="slide"></section>
<section id="p3" class="slide"></section> <!--I AM TRYING TO GET THIS ELEM -->
<section id="p31" class="slide subsection"></section>
<section id="p32" class="slide subsection"></section> <!--I AM HERE -->
<section id="p4" class="slide"></section>
Run Code Online (Sandbox Code Playgroud)
我试过了:(其中$ subsection是上面指出的元素)
var $slide = $subsection.prev('.slide').not('.subsection');
var $slide = $subsection.prev('.slide:not(".subsection")');
var $slide = $subsection.prev('.slide').not("[class='subsection']");
var $slide = $subsection.prev('.slide:not([class="subsection"])');
Run Code Online (Sandbox Code Playgroud)
现在我发现prev()只选择一个前一个elem然后停止,但prevUntil也不起作用?
var $slide = $subsection.prevUntil('.slide').not('.subsection');
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
var $slide = $subsection.prevAll('.slide').not('.subsection');
Run Code Online (Sandbox Code Playgroud)
但这让我得到了第一个id为p1的幻灯片元素.
如果有人有任何提示我会很感激...有谁能阻止我去克雷克雷?8 |
我试图显示一个块作为响应ajax调用的一部分.一切正常,除了我无法让控制器回显模板HTML代码.
我的模块类:
class MyModule_Ajax_ProductController extends Mage_Catalog_ProductController {
public function indexAction() {
if ($product = $this->_initProduct()) {
echo '<div>hello</div>'; //this works
echo $this->getLayout()->createBlock('ajax/product')->setTemplate('mymodule_ajax/product.phtml')->toHtml();
//I also tried:
//$layout = $this->getLayout();
//$update = $layout->getUpdate();
//$update->load('ajax_product_index');
//$layout->generateXml();
//$layout->generateBlocks();
//$output = $layout->getOutput();
//echo $output;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在我的模板文件product.phtml中 - 这个HTML永远不会显示出来.(保存到app/design/frontend/default/default/template/mymodule_ajax/product.phtml)
<div>HERE!</div>
Run Code Online (Sandbox Code Playgroud)
我的块类:
class MyModule_Ajax_Block_Product extends Mage_Catalog_Block_Product
{
private $product;
protected function _construct()
{
parent::_construct();
$this->setTemplate('mymodule_ajax/product.phtml');
}
protected function _toHtml() {
return parent::_toHtml();
}
public function setProduct($product) {
$this->product = $product;
return $this;
}
public function …Run Code Online (Sandbox Code Playgroud)