相关疑难解决方法(0)

如何使用方法创建jQuery插件?

我正在尝试编写一个jQuery插件,它将为调用它的对象提供附加的函数/方法.我在线阅读的所有教程(过去2小时内一直在浏览)包括最多如何添加选项,但不包括其他功能.

这是我要做的事情:

//通过调用该div的插件将div格式化为消息容器

$("#mydiv").messagePlugin();
$("#mydiv").messagePlugin().saySomething("hello");
Run Code Online (Sandbox Code Playgroud)

或类似的规定.以下是它归结为:我调用插件,然后调用与该插件相关联的函数.我似乎找不到办法做到这一点,我见过许多插件之前做过.

这是我到目前为止插件的内容:

jQuery.fn.messagePlugin = function() {
  return this.each(function(){
    alert(this);
  });

  //i tried to do this, but it does not seem to work
  jQuery.fn.messagePlugin.saySomething = function(message){
    $(this).html(message);
  }
};
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这样的目标?

谢谢!


2013年11月18日更新:我已经改变了Hari的评论和赞成的正确答案.

javascript jquery jquery-plugins javascript-framework

188
推荐指数
9
解决办法
17万
查看次数

使用jQuery更改HTML标记?

这可能吗?

例:

$('a.change').click(function(){
//code to change p tag to h5 tag
});


<p>Hello!</p>
<a id="change">change</a>
Run Code Online (Sandbox Code Playgroud)

因此,单击更改锚点会导致该<p>Hello!</p>部分更改为(作为示例)h5标记,因此您将<h5>Hello!</h5>在单击后结束.我意识到你可以删除p标签并用h5替换它,但无论如何实际修改HTML标签?

jquery

125
推荐指数
5
解决办法
13万
查看次数

使用jQuery将一个标签替换为另一个标签

目标:

使用jQuery,我试图替换所有出现的:

<code> ... </code>
Run Code Online (Sandbox Code Playgroud)

有:

<pre> ... </pre>
Run Code Online (Sandbox Code Playgroud)

我的解决方案

我得到了以下,

$('code').replaceWith( "<pre>" + $('code').html() + "</pre>" );
Run Code Online (Sandbox Code Playgroud)

我的解决方案的问题:

但问题是,它正在用第一个 "代码"标签之间的内容替换(第二,第三,第四等)"代码"标签之间的所有内容.

例如

<code> A </code>
<code> B </code>
<code> C </code>
Run Code Online (Sandbox Code Playgroud)

<pre> A </pre>
<pre> A </pre>
<pre> A </pre>
Run Code Online (Sandbox Code Playgroud)

我想我需要使用"这个"和某种功能,但我担心我还在学习,并且不太懂得如何将解决方案拼凑在一起.

javascript jquery replace

98
推荐指数
6
解决办法
6万
查看次数

第三级JQuery下拉列表未显示

试图获得3级下拉工作.在Opencart中,我一直在使用第三方repsonsive菜单,效果很好.在这里展示并提供http://cssmenumaker.com/menu/responsive-flat-menu

但是,Opencart不支持3级别类别,因此需要插件https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=19296

第3级别类别已加载但未显示.任何人都可以帮助获得thrid类别和两个系统合并并显示超过1000px甚至加载+符号?

以下是Plunkr的下拉菜单https://plnkr.co/edit/hZG4pbVCXQupf2kgqoKF?p=preview

<div id="cssmenu"><div id="menu-button">Menu</div>
    <ul>
        <li class="has-sub"><span class="submenu-button"></span><a href="extractor-fans">Extractor Fans</a>
            <ul style="">
                <li><a class="arrow" href="/bathroom-extractor-fans">Bathroom Shower</a>
                    <div class="has-sub"><span class="submenu-button"></span>
                        <ul>
                            <li><a href="bathroom-vids">Designer Videos</a></li>
                        </ul>
                    </div>
                </li>
                <li><a href="ceiling-bathroom"> Bathroom Cabinets</a></li>
            </ul>
        </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

第三个下拉列表未显示,但已加载

html javascript jquery css3 opencart

12
推荐指数
1
解决办法
337
查看次数

动态更改HTML元素类型

我想知道是否可以使用javascript更改HTML元素数据类型?

例如,将img更改为div?我这样做的原因并没有破坏img和创建div是因为元素包含很多内联样式,所以我需要将所有内联样式从img复制到div.PS:这个网站仅适用于iPad,因此跨浏览器兼容性不是问题.

var div  = img.cloneNode(true);
div.type = "div";
Run Code Online (Sandbox Code Playgroud)

因此,使用img.cloneNode(true)克隆节点/元素会更容易,然后必须将类型更改为div.我希望这是可能的吗?

如果没有,也许有一种简单的方法可以将一个元素样式复制到另一个元素?也许...

// img is an img HTML element
var div = document.createElement("div");
div.style = img.style;
document.body.removeChild(img); // does that destroy div.style aswell?
Run Code Online (Sandbox Code Playgroud)

html javascript css

7
推荐指数
1
解决办法
8821
查看次数

Javascript:如何更改节点名称?

例如,我有这个HTML:

<body>
    <div>Text</div>
</body>
Run Code Online (Sandbox Code Playgroud)

我想改变div其他类似的东西p.

这是我尝试但不起作用的:

var div = document.getElementsByTagName("div")[0]; // Get Element
    div.nodeName = "p"; // Change It's Node Name to P
Run Code Online (Sandbox Code Playgroud)

请不要库,我真的不想用新的p替换实际的div :)

javascript element edit

4
推荐指数
1
解决办法
2052
查看次数