目標: カスタム要素タイプ (例: <media ...>
) にいくつかのsrc
ファイル拡張子 (例: m4v
、jpg
...) の 1 つがある場合、カスタム要素タイプを変更して適切な要素を反映し、適切に表示しsrc
ます。
media
要素のjqueryセレクターが問題になる可能性があると思いますか?
jQuery(function($){
$(document).ready(function($) {
$.fn.changeElementType = function(newType) {
var attrs = {};
$.each(this[0].attributes, function(idx, attr) {
attrs[attr.nodeName] = attr.nodeValue;
});
this.replaceWith(function() {
return $("<" + newType + "/>", attrs).append($(this).contents());
});
}
})(jQuery);
$("media").has('[src$=".jpg"]').changeElementType("img");
$("media").has('[src$=".m4v"]').changeElementType("video");
});
これまでのところ、これを実行するとChromeコンソールはjQueryエラーを報告します...しかし、私が知る限り、すべてが適切に宣言されています。何かの構文または誤解?
編集:ここにエラーレポートがあります
Uncaught TypeError: object is not a function
(anonymous function)
l jquery.min.js:2
c.add jquery.min.js:2
v.fn.v.ready jquery.min.js:2
v.fn.v.init jquery.min.js:2
v jquery.min.js:2
(anonymous function)
(anonymous function) jquery.min.js:2
v.extend.globalEval jquery.min.js:2
(anonymous function) jquery.min.js:2
v.extend.each jquery.min.js:2
v.fn.extend.domManip jquery.min.js:2
v.fn.extend.append jquery.min.js:2
(anonymous function) jquery.min.js:2
v.extend.access jquery.min.js:2
v.fn.extend.html jquery.min.js:2
(anonymous function) jquery.min.js:2
l jquery.min.js:2
c.fireWith jquery.min.js:2
T jquery.min.js:2
r
• これは、Wordpress の非競合モードで実行されています