如何选择对象中的元素';带有jquery的innerHTML属性
我有一个函数,它接受一个对象(不是jQuery对象),里面是一个属性innerHTML。这是正在发生的事情的一个片段如何选择对象中的元素';带有jquery的innerHTML属性,jquery,innerhtml,Jquery,Innerhtml,我有一个函数,它接受一个对象(不是jQuery对象),里面是一个属性innerHTML。这是正在发生的事情的一个片段 function addToPluginList( thePlugin ){ /* Example of what is being passed in: * thePlugin.innerHTML = "<h3>WP-Members</h3><span class="author"><
function addToPluginList( thePlugin ){
/* Example of what is being passed in:
* thePlugin.innerHTML = "<h3>WP-Members</h3><span class="author"><a href="http://butlerblog.com/">Chad Butler</a></span><span class="slug">wp-members</span><span class="version">2.7.2</span><span class="description">WP-Members™ is a free membership management system for WordPress® that restricts content to registered users.</span>"
* Need to pull out the elements inside so they can be easily accessed.
*
**/
thePlugin.version = $( '.version', $( thePlugin.innerHTML ) );
thePlugin.slug = $( '.slug', $( thePlugin.innerHTML ) );
console.log( thePlugin ); // no dice
}
而不是预期的(thePlugin.slug='wp members',thePlugin.version='0.2)
你会怎么做
谢谢,所以问题似乎与忽略根级别元素的find()方法有关。通过将innerHtml包装在div中,选择器开始按预期工作
function addPlugintoList(thePlugin){
var elements = $('<div>' + thePlugin.innerHtml + '</div>');
thePlugin.version = $('.version', elements).text();
//this is equivalent to elements.find('.version').text();
thePlugin.slug = $('.slug', elements).text();
}
addPlugintoList(pluginObject);
console.log(pluginObject.version);
console.log(pluginObject.slug);
函数添加插件列表(插件){
变量元素=$(''+thePlugin.innerHtml+'');
thePlugin.version=$('.version',elements).text();
//这相当于元素.find('.version').text();
thePlugin.slug=$('.slug',elements).text();
}
addPlugintoList(pluginObject);
log(pluginObject.version);
控制台.log(pluginObject.slug);
例如:
让对象本身完成此工作还有一些其他有趣的可能性:
-这显示了用于绑定值的公共方法的通用原型
-这将显示使用原型来创建派生类型,并让它在ctor中进行绑定。谢谢Gary,您的解决方案成功了。我永远也不会解决这个问题。
function addPlugintoList(thePlugin){
var elements = $('<div>' + thePlugin.innerHtml + '</div>');
thePlugin.version = $('.version', elements).text();
//this is equivalent to elements.find('.version').text();
thePlugin.slug = $('.slug', elements).text();
}
addPlugintoList(pluginObject);
console.log(pluginObject.version);
console.log(pluginObject.slug);