Ext.js を使用してこれを実現するにはどうすればよいでしょうか?
var html = '<div><a href="a.htm">a</a><a href="b.htm">b</a></div>';
$(html).find('a').attr('target', '_blank'); // the jQuery way
Ext.js を使用してこれを実現するにはどうすればよいでしょうか?
var html = '<div><a href="a.htm">a</a><a href="b.htm">b</a></div>';
$(html).find('a').attr('target', '_blank'); // the jQuery way
最初の答えは正しいですが、非常に回り道をしています。
var dom = Ext.DomHelper.createDom({
html: '<a href="a.htm">a</a><a href="b.htm">b</a>'
});
Ext.get(dom).select('a').set({
target: '_blank'
});
Ext.JS 4.1 の時点で、
// createDom makes the passed 'html' a childNode
// of a new <div id="ext-gen####"></div> element
var htmlEl = Ext.DomHelper.createDom({html: '<div><a href="a.htm">a</a><a href="b.htm">b</a></div>' }),
memoryDom = Ext.get(htmlEl);
memoryDom.select('a').set({ target: '_blank' });
// removes the <div id="ext-gen####"></div> wrapper
console.log(memoryDom.getHTML());